From b842d5ea6743349de85b262dbf002c42ea1ad7f7 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 28 May 2023 22:13:15 +1000 Subject: [PATCH] New Crowdin updates (#4910) * 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 | 1294 +++++++-------- InvenTree/locale/da/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/de/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/el/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/en/LC_MESSAGES/django.po | 1315 ++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 1315 ++++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/fr/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/he/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/hu/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/id/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/it/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.po | 1384 +++++++++-------- InvenTree/locale/ko/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/nl/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/no/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/pt/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 1315 ++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/sl/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/sv/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/th/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/tr/LC_MESSAGES/django.po | 1296 +++++++-------- InvenTree/locale/vi/LC_MESSAGES/django.po | 1294 +++++++-------- InvenTree/locale/zh/LC_MESSAGES/django.po | 1296 +++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 1327 ++++++++-------- 28 files changed, 18644 insertions(+), 17792 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 6823f7ec38..3dffa95ef3 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -25,19 +25,19 @@ msgstr "API endpoint nebyl nalezen" msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Zadejte datum" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Komentář k souboru" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Neplatný výběr" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Název" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Název" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Cesta" @@ -420,12 +420,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamština" msgid "Chinese" msgstr "Čínština" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -648,7 +648,7 @@ msgstr "Vráceno" msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Neplatná volba nadřazeného sestavení" msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Referenční číslo objednávky" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Jméno společnosti" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2288,8 +2292,8 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Prodejné" @@ -2297,10 +2301,10 @@ msgstr "Prodejné" msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Sledovatelné" @@ -2308,10 +2312,10 @@ msgstr "Sledovatelné" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Nehmotné (virtuální)" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Webová stránka" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Webové stránky společnosti" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adresa" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Adresa společnosti" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Telefonní číslo" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Kontaktní telefonní číslo" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "E-mail" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Kontaktní místo" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "je zákazník" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Společnost" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Název parametru" msgid "Value" msgstr "Hodnota" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Jednotky" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Smazat obrázek" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Zákazník" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 539c5068df..34a191cc7c 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -25,19 +25,19 @@ msgstr "API endpoint ikke fundet" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Angiv dato" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Ugyldigt valg" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Navn" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Navn" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Sti" @@ -420,12 +420,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamesisk" msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -648,7 +648,7 @@ msgstr "Returneret" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Ugyldigt valg for overordnet produktion" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Produktionsordre reference" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Produktions statuskode" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Batch Kode" @@ -1025,7 +1025,7 @@ msgstr "Batch Kode" msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1061,11 +1061,11 @@ msgstr "Bruger som udstedte denne byggeordre" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 20f14eec56..f54e9acbda 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -25,19 +25,19 @@ msgstr "API-Endpunkt nicht gefunden" msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Datum eingeben" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Datei-Kommentar" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Ungültige Auswahl" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Name" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Name" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Pfad" @@ -420,12 +420,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamesisch" msgid "Chinese" msgstr "Chinesisch" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -648,7 +648,7 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Bauauftragsreferenz" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Bau-Statuscode" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Losnummer" @@ -1025,7 +1025,7 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1061,11 +1061,11 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1135,11 +1135,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -1161,8 +1161,8 @@ msgstr "Bauauftrag" msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Quell-Lagerartikel" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1293,7 +1293,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:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zuge msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" @@ -1431,8 +1431,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" @@ -1469,7 +1469,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1522,6 +1522,10 @@ msgstr "Überfälliger Bauauftrag" msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Ziel-Lager" @@ -1735,7 +1739,7 @@ msgstr "Zugewiesene Teile" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "Zeitstempel der letzten Aktualisierung" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Anzeige von `Über` einschränken" msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Firmenname" @@ -2250,9 +2254,9 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Vorlage" @@ -2260,7 +2264,7 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Komponente" @@ -2280,7 +2284,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Kaufbar" @@ -2288,8 +2292,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Verkäuflich" @@ -2297,10 +2301,10 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Nachverfolgbar" @@ -2308,10 +2312,10 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtuell" @@ -3251,9 +3255,9 @@ msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt we msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird" msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "Gelesen" msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Teile importiert" msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Website" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adresse" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Firmenadresse" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Firma" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "MPN" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Parametername" msgid "Value" msgstr "Wert" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Einheiten" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Mindestpreis" msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Stückmenge in einer einzelnen Verpackungseinheit" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "Vielfache" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Mehrere bestellen" msgid "Available" msgstr "Verfügbar" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" @@ -3814,8 +3825,8 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Bild löschen" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Kunde" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Hersteller" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Teil bestellen" @@ -4110,7 +4121,7 @@ msgstr "Zulieferer-Teil Aktionen" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Teil bestellen" @@ -4144,48 +4155,48 @@ msgstr "Zuliefererteil entfernen" msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Neuer Lagerartikel" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Preisinformationen ansehen" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "Zuliefererteil QR-Code" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Barcode mit Zuliefererteil verknüpfen" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Gesamtpreis" @@ -4319,7 +4330,7 @@ msgstr "Gesamtpreis" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "Keine passende Bestellung gefunden" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Unbekannt" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Link auf externe Seite" @@ -4381,11 +4401,11 @@ msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Bestellungs-Status" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" @@ -4406,15 +4426,15 @@ msgstr "Zulieferer Bestellreferenz" msgid "received by" msgstr "Empfangen von" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" @@ -4426,292 +4446,283 @@ msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "Versand von" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Kontext" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Bestellung" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Empfangen" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Position" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Position" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" @@ -4751,7 +4762,7 @@ msgstr "Lieferant muss mit der Bestellung übereinstimmen" msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Position" @@ -4759,15 +4770,15 @@ msgstr "Position" msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "Bestellung als vollständig markieren" msgid "Complete Order" msgstr "Auftrag fertigstellen" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Auswahl duplizieren" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Empfangene Teile" msgid "Order Notes" msgstr "Notizen zur Bestellung" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "Kundenreferenz" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "Beschreibung des Teils" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Version" @@ -5291,11 +5311,11 @@ msgstr "Version" msgid "Keywords" msgstr "Schlüsselwörter" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "Kategoriename" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Minimaler Bestand" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "Auf Lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "Bestellt" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "Zugeordnet" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5371,7 +5391,7 @@ msgstr "Pfad zur Kategorie" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -5388,17 +5408,17 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "Teil IPN" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "Niedrigster Preis" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "Höchster Preis" @@ -5448,7 +5468,7 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -5523,7 +5543,7 @@ msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Name des Teils" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Kategorie" @@ -5595,396 +5615,396 @@ msgstr "Minimal zulässiger Bestand" msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Datum" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "Bericht" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Benötigt" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Wert" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Stufe" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" msgid "Optional" msgstr "Optional" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "überprüft" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "Gesamtstückzahl" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "Gesamt-Bestandswert min" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "Gesamt-Bestandswert max" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "Inventurbericht verfügbar" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Minimaler Bestand" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "Preisspanne" @@ -6803,7 +6823,7 @@ msgstr "Teil-QR-Code" msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "Varianten" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -6910,8 +6930,8 @@ msgstr "Preis aktualisieren" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "Verkaufspreisstaffel hinzufügen" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Kein Bestand" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" @@ -7400,7 +7420,7 @@ msgstr "Lieferant gelöscht" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Stück-Preis" @@ -7413,7 +7433,7 @@ msgstr "Zusätzliche Positionen" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Summe" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -10161,8 +10181,8 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "Auswählen" @@ -10327,41 +10347,45 @@ msgstr "Parameter löschen" msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "Verfügbarkeit" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "Preisstaffel löschen" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Zuletzt aktualisiert" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "Preisstaffel löschen" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "Zeile löschen" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "Keine Positionen gefunden" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "Bestand niedrig" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "Teil-Kategorie wählen" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "Maximale Anzahl" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -11027,19 +11051,19 @@ msgstr "Keine Einkaufshistorie verfügbar" msgid "Purchase Price History" msgstr "Kaufpreisverlauf" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "Keine Verkaufshistorie verfügbar" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "Verkaufspreisverlauf" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "Keine Variantendaten verfügbar" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "Variantenteil" @@ -11152,123 +11176,123 @@ msgstr "Positionen auswählen" msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "Gelieferte Menge" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "Losnummer hinzufügen" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "Seriennummern hinzufügen" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Bestellnummer" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Positionen" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "Alle ausgewählten Positionen werden gelöscht" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "Ausgewählte Positionen löschen?" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "Hat Preis" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "Unterkategorien einschließen" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "Abonniert" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "Verfügbarer Lagerbestand" #: templates/js/translated/table_filters.js:631 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "Hat Inventureinträge" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index b59ca30720..a5ac652614 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -25,19 +25,19 @@ msgstr "Το API endpoint δε βρέθηκε" msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Εισάγετε ημερομηνία" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Σχόλιο αρχείου" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Όνομα" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Όνομα" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Μονοπάτι" @@ -420,12 +420,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Βιετναμέζικα" msgid "Chinese" msgstr "Κινέζικα" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -648,7 +648,7 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -1025,7 +1025,7 @@ msgstr "Κωδικός Παρτίδας" msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1061,11 +1061,11 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1135,11 +1135,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1161,8 +1161,8 @@ msgstr "Κατασκευή" msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Ακέραιη ποσότητα που απαιτείται για αν msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" @@ -1293,7 +1293,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index afbc0fc2be..1848efb499 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: 2023-05-22 13:00+0000\n" +"POT-Creation-Date: 2023-05-26 09:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,19 +26,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -52,20 +52,20 @@ msgstr "" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -248,16 +248,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -280,8 +280,8 @@ msgstr "" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -326,8 +326,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -338,18 +338,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -363,12 +363,12 @@ msgstr "" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -385,7 +385,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -421,12 +421,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -603,15 +603,15 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:92 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:96 +#: InvenTree/status.py:65 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:68 msgid "InvenTree system health checks failed" msgstr "" @@ -649,7 +649,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -884,9 +884,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -894,7 +894,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -914,13 +914,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -943,13 +943,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1018,7 +1018,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1041,7 +1041,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1062,11 +1062,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1078,7 +1078,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1118,7 +1118,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1136,11 +1136,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1162,8 +1162,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1187,9 +1187,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1208,17 +1208,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1276,8 +1276,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1303,15 +1303,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1343,12 +1343,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1432,8 +1432,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1453,7 +1453,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1470,7 +1470,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1510,15 +1510,15 @@ msgstr "" msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:100 +#: build/tasks.py:101 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:118 +#: build/tasks.py:119 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:123 +#: build/tasks.py:124 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1630,13 +1630,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1669,15 +1669,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1719,8 +1719,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1736,7 +1736,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1960,7 +1960,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2045,7 +2045,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2251,9 +2251,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2261,7 +2261,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2272,7 +2272,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2281,7 +2281,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2289,8 +2289,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2298,10 +2298,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2309,10 +2309,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3252,9 +3252,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3276,7 +3276,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3378,7 +3378,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3455,160 +3455,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3616,70 +3616,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3688,15 +3697,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3704,35 +3713,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3745,15 +3752,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3815,8 +3822,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3825,7 +3832,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4008,7 +4015,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4111,7 +4118,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4145,48 +4152,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4311,7 +4318,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4320,7 +4327,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4329,12 +4336,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4362,7 +4378,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4382,11 +4398,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4395,7 +4411,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4407,15 +4423,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4427,292 +4443,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4720,11 +4727,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4752,7 +4759,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4760,15 +4767,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4784,75 +4791,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -5043,7 +5050,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5170,7 +5177,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5261,29 +5268,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5292,11 +5299,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5317,14 +5324,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5341,15 +5348,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5372,7 +5379,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5389,17 +5396,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5449,7 +5456,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5524,7 +5531,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5548,11 +5555,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5596,396 +5603,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5994,370 +6001,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6781,9 +6788,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6804,7 +6811,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6878,8 +6885,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6911,8 +6918,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6977,7 +6984,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7089,7 +7096,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7110,45 +7117,45 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:27 -#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:32 +#: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree Notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:39 -#: plugin/builtin/integration/core_notifications.py:80 -msgid "Enable email notifications" -msgstr "" - #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:41 +#: plugin/builtin/integration/core_notifications.py:82 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:45 +#: plugin/builtin/integration/core_notifications.py:46 msgid "Enable slack notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:47 msgid "Allow sending of slack channel messages for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:51 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Slack incoming webhook url" msgstr "" -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:53 msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:162 +#: plugin/builtin/integration/core_notifications.py:163 msgid "Open link" msgstr "" @@ -7401,7 +7408,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7414,7 +7421,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7567,7 +7574,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9438,7 +9445,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10162,8 +10169,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10328,41 +10335,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10624,7 +10635,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10785,7 +10796,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10866,137 +10877,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11028,19 +11039,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11153,123 +11164,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12014,7 +12025,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12034,7 +12045,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12206,22 +12217,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 1095fceed0..7f32eccb02 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -25,19 +25,19 @@ msgstr "endpoint API no encontrado" msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "Ningún valor proporcionado" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "El valor proporcionado no es un número válido" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "El valor proporcionado tiene una unidad inválida" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "El valor proporcionado no puede ser convertido a la unidad especificada" @@ -51,20 +51,20 @@ msgstr "Ingrese la fecha" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Comentario del archivo" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Selección no válida" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Nombre" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Nombre" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "padre" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Ruta" @@ -420,12 +420,12 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Debe ser un numero valido" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamita" msgid "Chinese" msgstr "Chino" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" @@ -648,7 +648,7 @@ msgstr "Devuelto" msgid "In Progress" msgstr "En progreso" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Opción no válida para la construcción padre" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Número de orden de construcción o armado" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Código de estado de construcción" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Numero de lote" @@ -1025,7 +1025,7 @@ msgstr "Numero de lote" msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Fecha de finalización" @@ -1061,11 +1061,11 @@ msgstr "El usuario que emitió esta orden" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -1135,11 +1135,11 @@ msgstr "Item de construcción o armado debe especificar un resultado o salida, y msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" @@ -1161,8 +1161,8 @@ msgstr "Construcción o Armado" msgid "Build to allocate parts" msgstr "Armar para asignar partes" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Producto original de stock" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Producto original de stock" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Cantidad entera requerida para partes rastreables" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Números de serie" @@ -1293,7 +1293,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Aceptar que los artículos de stock no se han asignado completamente a e msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Aceptar incompleto" @@ -1431,8 +1431,8 @@ msgstr "La cantidad de construcción requerida aún no se ha completado" msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Item de Lista de Materiales" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcció msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" @@ -1469,7 +1469,7 @@ msgstr "La salida de construcción no se puede especificar para la asignación d msgid "This stock item has already been allocated to this build output" msgstr "Este artículo de stock ya ha sido asignado a esta salida de construcción" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" @@ -1522,6 +1522,10 @@ msgstr "Orden de construcción atrasada" msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Completados" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Fuente de stock" msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Destinación" @@ -1735,7 +1739,7 @@ msgstr "Partes asignadas" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "Fecha y hora de la última actualización" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Restringir mostrar 'acerca de'" msgid "Show the `about` modal only to superusers" msgstr "Mostrar la modal `about` solo para superusuarios" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nombre de empresa" @@ -2250,9 +2254,9 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Plantilla" @@ -2260,7 +2264,7 @@ msgstr "Plantilla" msgid "Parts are templates by default" msgstr "Las piezas son plantillas por defecto" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Montaje" msgid "Parts can be assembled from other components by default" msgstr "Las piezas pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Componente" @@ -2280,7 +2284,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las piezas pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Comprable" @@ -2288,8 +2292,8 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las piezas son comprables por defecto" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Vendible" @@ -2297,10 +2301,10 @@ msgstr "Vendible" msgid "Parts are salable by default" msgstr "Las piezas se pueden vender por defecto" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Rastreable" @@ -2308,10 +2312,10 @@ msgstr "Rastreable" msgid "Parts are trackable by default" msgstr "Las piezas son rastreables por defecto" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtual" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "Punto final en el que se recibe este webhook" msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "¿Esta noticia fue leída?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Partes importadas" msgid "Previous Step" msgstr "Paso anterior" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Descripción de la compañía" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Descripción de la empresa" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Página web" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "URL del sitio web de la empresa" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Dirección" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Dirección de la empresa" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Correo electrónico" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contacto" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Punto de contacto" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "es cliente" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "¿Vendes artículos a esta empresa?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "es proveedor" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "¿Compras artículos de esta empresa?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "es fabricante" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica piezas?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Empresa" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Parte base" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Seleccionar pieza" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "MPN" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Número de Parte del Fabricante" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Parte del fabricante" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Nombre del parámetro" msgid "Value" msgstr "Valor" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Unidades" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza base" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "costo base" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" msgid "Packaging" msgstr "Paquetes" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Cantidad de unidades suministradas en un solo paquete" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "múltiple" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Pedido múltiple" msgid "Available" msgstr "Disponible" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" @@ -3814,8 +3825,8 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Borrar imagen" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Cliente" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir ítem" @@ -4110,7 +4121,7 @@ msgstr "Acciones de partes del proveedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Pedir ítem" @@ -4144,48 +4155,48 @@ msgstr "Eliminar parte del proveedor" msgid "No supplier information available" msgstr "No hay información de proveedor disponible" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Stock del Proveedor" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Crear nuevo artículo de stock" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Nuevo artículo de stock" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Pedidos de piezas al proveedor" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Información deprecios" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Agregar descuento de precio" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "Código QR de parte del proveedor" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Enlazar código de barras a la parte del proveedor" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Actualizar disponibilidad de parte" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "Código QR" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Precio Total" @@ -4319,7 +4330,7 @@ msgstr "Precio Total" msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "No se encontró ninguna orden de compra coincidente" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "Orden de devolución" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Desconocido" @@ -4361,7 +4381,7 @@ msgstr "Descripción del pedido (opcional)" msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Enlace a Url externa" @@ -4381,11 +4401,11 @@ msgstr "Usuario o grupo responsable de este pedido" msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Estado de la orden de compra" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Compañía de la que se están encargando los artículos" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Referencia del proveedor" @@ -4406,15 +4426,15 @@ msgstr "Código de referencia de pedido del proveedor" msgid "received by" msgstr "recibido por" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" @@ -4426,292 +4446,283 @@ msgstr "El proveedor de la pieza debe coincidir con el proveedor de PO" msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "enviado por" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "El pedido no se puede completar porque no se han asignado partes" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay artículos de línea incompletos" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Referencia de línea en la orden" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Notas del artículo de línea" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para este artículo de línea (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Contexto" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "La pieza del proveedor debe coincidir con el proveedor" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "eliminado" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Orden" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Recibido" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las piezas vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Envío" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una pieza" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Línea" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Ítem" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "Compañía de la que se están devolviendo los artículos" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "Orden de devolución" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "Resultado" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "Salida para este artículo de línea" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para este artículo de línea" @@ -4719,11 +4730,11 @@ msgstr "Costo asociado con la devolución o reparación para este artículo de l msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con artículos de línea incompletos" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "El pedido tiene artículos de línea incompletos" @@ -4751,7 +4762,7 @@ msgstr "El proveedor debe coincidir con la orden de compra" msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Artículo en línea" @@ -4759,15 +4770,15 @@ msgstr "Artículo en línea" msgid "Line item does not match purchase order" msgstr "La línea del artículo no coincide con la orden de compra" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" @@ -4783,75 +4794,75 @@ msgstr "Código de barras escaneado" msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Se deben proporcionar artículos de línea" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "Artículo en línea no está asociado con este pedido" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "Los siguientes números de serie ya están asignados" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "Artículo de línea de orden de devolución" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "El artículo de línea no coincide con la orden de devolución" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "El artículo de línea ya ha sido recibido" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -4933,6 +4944,10 @@ msgstr "Marcar pedido como completado" msgid "Complete Order" msgstr "Completar pedido" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Duplicar selección" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Articulos Recibidos" msgid "Order Notes" msgstr "Notas del pedido" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "Imprimir informe de orden de devolución" @@ -5169,7 +5189,7 @@ msgstr "Referencia del cliente" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de parte" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "Descripción de parte" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Revisión" @@ -5291,11 +5311,11 @@ msgstr "Revisión" msgid "Keywords" msgstr "Palabras claves" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "ID de Categoría" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "Nombre de categoría" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Stock mínimo" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "En Stock" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "En pedido" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "Asignadas" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "En construcción" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "Costo máximo" @@ -5371,7 +5391,7 @@ msgstr "Ruta de Categoría" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Partes" @@ -5388,17 +5408,17 @@ msgstr "ID de artículo de BOM" msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "IPN de la parte" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "Precio mínimo" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "Precio máximo" @@ -5448,7 +5468,7 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Nombre de la pieza" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Categoría" @@ -5595,396 +5615,396 @@ msgstr "Nivel mínimo de stock permitido" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta pieza a partir de otras piezas?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta pieza para construir otras partes?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta pieza a proveedores externos?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta pieza a los clientes?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "Suma de control BOM almacenada" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la pieza de proveedores externos" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "Coste mínimo calculado de las partes variantes" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Fecha" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Requerido" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Datos" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Nivel" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "Cantidad del artículo en BOM" msgid "Optional" msgstr "Opcional" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "Consumible" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "Suma de comprobación de la línea en BOM" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Validado" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Notificación por bajo stock" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "Cantidad Total" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Nivel mínimo de stock" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "Rango de precios" @@ -6803,7 +6823,7 @@ msgstr "Código QR de Parte" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -6910,8 +6930,8 @@ msgstr "Actualizar precio de partes" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Última actualización" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Sin Stock" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" @@ -7400,7 +7420,7 @@ msgstr "El proveedor ha sido eliminado" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Precio Unitario" @@ -7413,7 +7433,7 @@ msgstr "Elementos de línea extra" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Total" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "Haga clic en el siguiente enlace para ver esta pieza" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Cantidad Mínima" @@ -10161,8 +10181,8 @@ msgstr "Asignar artículos de inventario" msgid "No builds matching query" msgstr "No hay trabajos que coincidan con la consulta" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "Seleccionar" @@ -10327,41 +10347,45 @@ msgstr "Eliminar parámetro" msgid "No supplier parts found" msgstr "No se encontraron piezas de proveedor" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "Disponibilidad" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Editar proveedor" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Eliminar ítem del proveedor" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "Eliminar precio de descuento" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "Editar precio de descuento" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "No se ha encontrado información de descuento de precios" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Última actualización" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "Editar precio de descuento" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "Eliminar precio de descuento" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "Eliminar línea" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "No hay artículos de línea" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "Copiar Factura de Materiales" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "Stock bajo" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "Eliminar Plantilla de Parámetros de Parte" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "No se encontraron órdenes de compra" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "Recibir ítem de línea" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "Eliminar relación de parte" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "Eliminar Relación de Parte" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "No se encontraron partes" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "partes" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Sin categoría" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Mostrar como lista" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Mostrar como cuadrícula" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "Definir Categoría de Parte" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Mostrar como árbol" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "Cargar subcategorías" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "Categoría suscrita" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "No hay plantillas de prueba que coincidan con la consulta" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "Editar resultado de prueba" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "Eliminar resultado de prueba" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "Esta prueba está definida para una parte principal" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "Editar plantilla de resultado de prueba" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "Eliminar plantilla de resultados de prueba" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "Sin fecha especificada" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "Especulativo" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "Cantidad máxima" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "Historial de precios de venta" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "No hay datos de variantes disponibles" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "Parte variante" @@ -11152,123 +11176,123 @@ msgstr "Seleccionar Artículos de Línea" msgid "At least one line item must be selected" msgstr "Debe seleccionar al menos un artículo de línea" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "Cantidad recibida" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "Cantidad a recibir" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "Estado del Stock" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "Agregar código de barras" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "Eliminar código de barras" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "Especificar ubicación" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "Añadir código de lote" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "Añadir números de serie" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Código de Pedido" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "Cantidad a recibir" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "Confirmar recepción de artículos" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "Recibir artículos de orden de compra" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "El pedido está vencido" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Artículos" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "Duplicar artículo de línea" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "Editar Ítem de Línea" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "Eliminar Ítemde Línea" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "Duplicar artículo de línea" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "Editar artículo de línea" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "Permitir stock de variante" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "Tiene precio" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "Incluir subcategorías" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "Suscrito" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "Existencias disponibles" #: templates/js/translated/table_filters.js:631 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "Tiene IPN" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "La parte tiene número de pieza interno" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "En existencia" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "Comprable" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "Tiene entradas de inventario" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index afbc0fc2be..1848efb499 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: 2023-05-22 13:00+0000\n" +"POT-Creation-Date: 2023-05-26 09:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,19 +26,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -52,20 +52,20 @@ msgstr "" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -248,16 +248,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -280,8 +280,8 @@ msgstr "" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -326,8 +326,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -338,18 +338,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -363,12 +363,12 @@ msgstr "" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -385,7 +385,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -421,12 +421,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -603,15 +603,15 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:92 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:96 +#: InvenTree/status.py:65 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:68 msgid "InvenTree system health checks failed" msgstr "" @@ -649,7 +649,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -884,9 +884,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -894,7 +894,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -914,13 +914,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -943,13 +943,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1018,7 +1018,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1041,7 +1041,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1062,11 +1062,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1078,7 +1078,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1118,7 +1118,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1136,11 +1136,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1162,8 +1162,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1187,9 +1187,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1208,17 +1208,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1276,8 +1276,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1303,15 +1303,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1343,12 +1343,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1432,8 +1432,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1453,7 +1453,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1470,7 +1470,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1510,15 +1510,15 @@ msgstr "" msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:100 +#: build/tasks.py:101 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:118 +#: build/tasks.py:119 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:123 +#: build/tasks.py:124 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1630,13 +1630,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1669,15 +1669,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1719,8 +1719,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1736,7 +1736,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1960,7 +1960,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2045,7 +2045,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2251,9 +2251,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2261,7 +2261,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2272,7 +2272,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2281,7 +2281,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2289,8 +2289,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2298,10 +2298,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2309,10 +2309,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3252,9 +3252,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3276,7 +3276,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3378,7 +3378,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3455,160 +3455,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3616,70 +3616,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3688,15 +3697,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3704,35 +3713,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3745,15 +3752,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3815,8 +3822,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3825,7 +3832,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4008,7 +4015,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4111,7 +4118,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4145,48 +4152,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4311,7 +4318,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4320,7 +4327,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4329,12 +4336,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4362,7 +4378,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4382,11 +4398,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4395,7 +4411,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4407,15 +4423,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4427,292 +4443,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4720,11 +4727,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4752,7 +4759,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4760,15 +4767,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4784,75 +4791,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -5043,7 +5050,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5170,7 +5177,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5261,29 +5268,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5292,11 +5299,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5317,14 +5324,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5341,15 +5348,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5372,7 +5379,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5389,17 +5396,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5449,7 +5456,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5524,7 +5531,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5548,11 +5555,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5596,396 +5603,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5994,370 +6001,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6781,9 +6788,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6804,7 +6811,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6878,8 +6885,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6911,8 +6918,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6977,7 +6984,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7089,7 +7096,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7110,45 +7117,45 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:27 -#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:32 +#: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree Notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:39 -#: plugin/builtin/integration/core_notifications.py:80 -msgid "Enable email notifications" -msgstr "" - #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:41 +#: plugin/builtin/integration/core_notifications.py:82 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:45 +#: plugin/builtin/integration/core_notifications.py:46 msgid "Enable slack notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:47 msgid "Allow sending of slack channel messages for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:51 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Slack incoming webhook url" msgstr "" -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:53 msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:162 +#: plugin/builtin/integration/core_notifications.py:163 msgid "Open link" msgstr "" @@ -7401,7 +7408,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7414,7 +7421,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7567,7 +7574,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9438,7 +9445,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10162,8 +10169,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10328,41 +10335,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10624,7 +10635,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10785,7 +10796,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10866,137 +10877,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11028,19 +11039,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11153,123 +11164,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12014,7 +12025,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12034,7 +12045,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12206,22 +12217,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 8a6b051959..427cde8bdc 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -25,19 +25,19 @@ msgstr "Address e API peida nashod" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "تاریخ را وارد کنید" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" @@ -648,7 +648,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index d25bc155b5..fcdc4fb433 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -25,19 +25,19 @@ msgstr "Point de terminaison de l'API introuvable" msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Entrer la date" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Commentaire du fichier" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Choix invalide" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Nom" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Nom" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Chemin d'accès" @@ -420,12 +420,12 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamien" msgid "Chinese" msgstr "Chinois" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -648,7 +648,7 @@ msgstr "Retourné" msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Choix invalide pour la fabrication parente" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Code de statut de construction" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Code de lot" @@ -1025,7 +1025,7 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Date d'achèvement cible" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1061,11 +1061,11 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1135,11 +1135,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" @@ -1161,8 +1161,8 @@ msgstr "Assemblage" msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Stock d'origine de l'article" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Quantité entière requise pour les pièces à suivre" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1293,7 +1293,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:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Accepter les articles de stock qui n'ont pas été complètement alloué msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" @@ -1431,8 +1431,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée" msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Article du BOM" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de constructi msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" @@ -1469,7 +1469,7 @@ msgstr "La sortie de la construction ne peut pas être spécifiée pour l'alloca msgid "This stock item has already been allocated to this build output" msgstr "Cet article de stock a déjà été alloué à cette sortie de construction" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" @@ -1522,6 +1522,10 @@ msgstr "Ordre de commande en retard" msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Destination" @@ -1735,7 +1739,7 @@ msgstr "Pièces allouées" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "Date de la dernière mise à jour" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Limiter l'affichage de `about`" msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nom de la société" @@ -2250,9 +2254,9 @@ msgstr "Copier les templates de paramètres de catégorie" msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Modèle" @@ -2260,7 +2264,7 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Assemblage" 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:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Composant" @@ -2280,7 +2284,7 @@ msgstr "Composant" 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:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Achetable" @@ -2288,8 +2292,8 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Vendable" @@ -2297,10 +2301,10 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Traçable" @@ -2308,10 +2312,10 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtuelle" @@ -3251,9 +3255,9 @@ msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues d msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "Lu" msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Composantes importées" msgid "Previous Step" msgstr "Étape précédente" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Description de la société" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Description de la société" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Site web" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Site Web de la société" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adresse" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Adresse de l'entreprise" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Numéro de téléphone" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Numéro de téléphone de contact" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "E-mail" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contact" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "est client" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "est fournisseur" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "est fabricant" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Société" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Nom du paramètre" msgid "Value" msgstr "Valeur" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Unités" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "Note" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "coût de base" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Frais minimums (par exemple frais de stock)" msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Nombre d'unités fournies dans un seul paquet" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "plusieurs" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Commande multiple" msgid "Available" msgstr "Disponible" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" @@ -3814,8 +3825,8 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Supprimer image" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Client" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Fabricants" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Article de la commande" @@ -4110,7 +4121,7 @@ msgstr "Actions de la pièce du fournisseur" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Commander un composant" @@ -4144,48 +4155,48 @@ msgstr "Supprimer la pièce du fournisseur" msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Stock de pièces du fournisseur" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Créer un nouvel article de stock" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Nouvel article de stock" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Commandes de pièces du fournisseur" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Information sur les prix" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Ajouter un prix de rupture" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Lier le code-barres à la pièce du fournisseur" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Inconnu" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Lien vers une page externe" @@ -4381,11 +4401,11 @@ msgstr "Utilisateur ou groupe responsable de cette commande" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Statut de la commande d'achat" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Référence du fournisseur" @@ -4406,15 +4426,15 @@ msgstr "Code de référence de la commande fournisseur" msgid "received by" msgstr "reçu par" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "expédié par" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Contexte" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "supprimé" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Commande" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Reçu" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Ligne" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Article" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Entrez les numéros de série pour les articles de stock entrants" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "Marquer la commande comme complète" msgid "Complete Order" msgstr "Finaliser la commande" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Dupliquer la sélection" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "Notes de commande" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Révision" @@ -5291,11 +5311,11 @@ msgstr "Révision" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "En Commande" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Catégorie" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Date" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Requis" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Données" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Validée" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Stock" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "Stock bas" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Référence de commande" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "Commande en retard" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "Inclure les sous-catégories" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "La pièce a un numéro de pièce interne" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "Achetable" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index a1f9482683..5fad8e54b4 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -25,19 +25,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "הזן תאריך סיום" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "הערת קובץ" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "בחירה שגויה" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "שם" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "שם" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "ווייטנאמית" msgid "Chinese" msgstr "סינית" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" @@ -648,7 +648,7 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 75425599a7..0d55e9d717 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -25,19 +25,19 @@ msgstr "API funkciót nem találom" msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "Nincs érték megadva" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "A megadott érték nem egy szám" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "A megadott érték mértékegysége érvénytelen" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "A megadott érték nem konvertálható a megadott mértékegységre" @@ -51,20 +51,20 @@ msgstr "Dátum megadása" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Leírás, bővebb infó" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Érvénytelen választás" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Név" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Név" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Elérési út" @@ -420,12 +420,12 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnámi" msgid "Chinese" msgstr "Kínai" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -648,7 +648,7 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Hibás választás a szülő gyártásra" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Gyártási utasítás azonosító" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Gyártás státusz kód" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Batch kód" @@ -1025,7 +1025,7 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Befejezés cél dátuma" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -1061,11 +1061,11 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1135,11 +1135,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" @@ -1161,8 +1161,8 @@ msgstr "Gyártás" msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Forrás készlet tétel" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1293,7 +1293,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:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1416,7 +1416,7 @@ msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" @@ -1432,8 +1432,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve" msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1453,7 +1453,7 @@ msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" @@ -1470,7 +1470,7 @@ msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatr msgid "This stock item has already been allocated to this build output" msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1523,6 +1523,10 @@ msgstr "Késésben lévő gyártás" msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1630,13 +1634,13 @@ msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1669,15 +1673,15 @@ msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1719,8 +1723,8 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Cél" @@ -1736,7 +1740,7 @@ msgstr "Lefoglalt alkatrészek" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1960,7 +1964,7 @@ msgstr "Legutóbbi frissítés időpontja" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2045,7 +2049,7 @@ msgstr "Verzió infók megjelenítésének tiltása" msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Cég neve" @@ -2251,9 +2255,9 @@ msgstr "Kategória paraméter sablonok másolása" msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Sablon" @@ -2261,7 +2265,7 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2272,7 +2276,7 @@ msgstr "Gyártmány" 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:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Összetevő" @@ -2281,7 +2285,7 @@ msgstr "Összetevő" 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:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2289,8 +2293,8 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Értékesíthető" @@ -2298,10 +2302,10 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Követésre kötelezett" @@ -2309,10 +2313,10 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtuális" @@ -3252,9 +3256,9 @@ msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3276,7 +3280,7 @@ msgstr "Végpont ahol ez a webhook érkezik" msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3378,7 +3382,7 @@ msgstr "Elolvasva" msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3455,160 +3459,160 @@ msgstr "Importált alkatrészek" msgid "Previous Step" msgstr "Előző lépés" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Cég leírása" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "A cég leírása" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Weboldal" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Cím" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Cég címe" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Névjegy" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "vevő-e" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "beszállító-e" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "gyártó-e" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Cég" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "MPN" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3616,70 +3620,79 @@ msgstr "Paraméter neve" msgid "Value" msgstr "Érték" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Mértékegység" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3688,15 +3701,15 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "alap költség" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3704,35 +3717,33 @@ msgstr "Minimális díj (pl. tárolási díj)" msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Egy csomagban lévő mennyiség" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "többszörös" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3745,15 +3756,15 @@ msgstr "Többszörös rendelés" msgid "Available" msgstr "Elérhető" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" @@ -3815,8 +3826,8 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3825,7 +3836,7 @@ msgstr "Kép törlése" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Vevő" @@ -4008,7 +4019,7 @@ msgid "Manufacturers" msgstr "Gyártók" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Alkatrész rendelés" @@ -4111,7 +4122,7 @@ msgstr "Beszállítói alkatrész műveletek" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Alkatrész rendelése" @@ -4145,48 +4156,48 @@ msgstr "Beszállítói alkatrész törlése" msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Beszállítói készlet" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Új készlet tétel" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Beszállítói alkatrész rendelések" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Árinformációk" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Ársáv hozzáadása" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "Beszállítói alkatrész QR kód" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4311,7 +4322,7 @@ msgstr "QR kód" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Teljes ár" @@ -4320,7 +4331,7 @@ msgstr "Teljes ár" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4329,12 +4340,21 @@ msgstr "Nincs egyező beszerzési rendelés" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "Visszavételi utasítás" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Ismeretlen" @@ -4362,7 +4382,7 @@ msgstr "Rendelés leírása (opcionális)" msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Link külső weboldalra" @@ -4382,11 +4402,11 @@ msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" @@ -4395,7 +4415,7 @@ msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Beszállítói azonosító" @@ -4407,15 +4427,15 @@ msgstr "Beszállítói rendelés azonosító kód" msgid "received by" msgstr "érkeztette" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" @@ -4427,292 +4447,283 @@ msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "szállította" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Kontextus" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "törölve" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Rendelés" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "Szállítás dátuma" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Sor" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Tétel" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "Visszavételi utasítás azonosító" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "Visszavételi utasítás állapota" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "Visszavételi utasítás" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "Visszavételi dátum" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" @@ -4720,11 +4731,11 @@ msgstr "Sortétel visszaküldésének vagy javításának költsége" msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" @@ -4752,7 +4763,7 @@ msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Sortétel" @@ -4760,15 +4771,15 @@ msgstr "Sortétel" msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" @@ -4784,75 +4795,75 @@ msgstr "Beolvasott vonalkód" msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "Visszavételi utasítás sortétel" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavételi utasítással" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -4934,6 +4945,10 @@ msgstr "Rendelés teljesítettnek jelölése" msgid "Complete Order" msgstr "Rendelés befejezése" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5043,7 +5058,7 @@ msgstr "Kijelöltek másolása" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5147,6 +5162,11 @@ msgstr "Érkezett tételek" msgid "Order Notes" msgstr "Rendelés megjegyzések" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "Visszavételi riport nyomtatása" @@ -5170,7 +5190,7 @@ msgstr "Vevői azonosító" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5261,29 +5281,29 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "Alkatrész leírása" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Változat" @@ -5292,11 +5312,11 @@ msgstr "Változat" msgid "Keywords" msgstr "Kulcsszavak" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "Kategória neve" @@ -5317,14 +5337,14 @@ msgid "Minimum Stock" msgstr "Minimális készlet" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "Készleten" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "Rendelve" @@ -5341,15 +5361,15 @@ msgid "Allocated" msgstr "Lefoglalva" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5372,7 +5392,7 @@ msgstr "Kategória elérési út" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -5389,17 +5409,17 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "Alkatrész IPN" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "Minimum ár" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "Maximum ár" @@ -5449,7 +5469,7 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -5524,7 +5544,7 @@ msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Alkatrész neve" @@ -5548,11 +5568,11 @@ msgstr "Alkatrész leírása (opcionális)" msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Kategória" @@ -5596,396 +5616,396 @@ msgstr "Minimálisan megengedett készlet mennyiség" msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Dátum" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "Riport" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "Erre az alkatrészre már létezik teszt ilyen névvel" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Kötelező" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Adat" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Szint" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5994,370 +6014,370 @@ msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" msgid "Optional" msgstr "Opcionális" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "Fogyóeszköz" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "1.rész" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "2.rész" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "Teljes mennyiség" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "Teljes költség min" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "Teljes költség max" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "Leltár riport rendelkezésre áll" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "Egy új leltár riport készen áll a letöltésre" @@ -6781,9 +6801,9 @@ msgid "Minimum stock level" msgstr "Minimális készlet" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "Ártartomány" @@ -6804,7 +6824,7 @@ msgstr "Alkatrész QR kódja" msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "alkatrész" @@ -6878,8 +6898,8 @@ msgstr "Változatok" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -6911,8 +6931,8 @@ msgstr "Árazás frissítése" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -6977,7 +6997,7 @@ msgid "Add Sell Price Break" msgstr "Eladási ársáv hozzáadása" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Nincs készlet" @@ -7089,7 +7109,7 @@ msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" @@ -7401,7 +7421,7 @@ msgstr "Beszállító törölve lett" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Egységár" @@ -7414,7 +7434,7 @@ msgstr "Egyéb tételek" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Összesen" @@ -7567,7 +7587,7 @@ msgstr "A megadott beszállítói alkatrész nem létezik" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 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" @@ -9438,7 +9458,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -10162,8 +10182,8 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "Kiválaszt" @@ -10328,41 +10348,45 @@ msgstr "Paraméter törlése" msgid "No supplier parts found" msgstr "Nincs beszállítói alkatrész" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "Elérhetőség" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Beszállítói alkatrész szerkesztése" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "Ársáv törlése" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "Nincs ársáv információ" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Utoljára módosítva" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "Ársáv törlése" @@ -10624,7 +10648,7 @@ msgid "Delete Line" msgstr "Sor törlése" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "Nem találhatók sortételek" @@ -10785,7 +10809,7 @@ msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "Alacsony készlet" @@ -10866,137 +10890,137 @@ msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "alkatrészek" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "Alkatrész kategória kiválasztása" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -11028,19 +11052,19 @@ msgstr "Nincsenek beszerzési ár előzmények" msgid "Purchase Price History" msgstr "Beszerzési ár előzmények" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "Nincsenek eladási ár előzmények" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "Eladási ár előzmények" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "Nincs alkatrészváltozat infomáció" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "Alkatrészváltozat" @@ -11153,123 +11177,123 @@ msgstr "Sortételek kiválasztása" msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "Beérkezett mennyiség" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "Készlet állapota" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "Vonalkód hozzáadása" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "Vonalkód eltávolítása" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "Add meg a helyet" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "Batch kód hozzáadása" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "Sorozatszám hozzáadása" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "Sorozatszámok" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Rendelési kód" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "Tétel vonalkód beolvasása" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "Beérkezett tétel vonalkódjának leolvasása (egyik meglévő készlet tétellel sem egyezhet)" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "Érvénytelen vonalkód adat" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Tételek" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "Az összes kijelölt sortétel törlésre kerül" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "Töröljük a kiválasztott sortételeket?" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12014,7 +12038,7 @@ msgid "Allow Variant Stock" msgstr "Készlet változatok engedélyezése" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "Van árazás" @@ -12034,7 +12058,7 @@ msgid "Include subcategories" msgstr "Alkategóriákkal együtt" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "Értesítés beállítva" @@ -12206,22 +12230,30 @@ msgid "Available stock" msgstr "Elérhető" #: templates/js/translated/table_filters.js:631 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "Volt leltár" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 54bfb9b2cc..e06f306e1f 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -25,19 +25,19 @@ msgstr "API endpoint tidak ditemukan" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Masukkan tanggal" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Komentar file" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Pilihan tidak valid" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Nama" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Nama" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Direktori" @@ -420,12 +420,12 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnam" msgid "Chinese" msgstr "Cina" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" @@ -648,7 +648,7 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Pilihan produksi induk tidak valid" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Referensi Order Produksi" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Kode status pembuatan" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Kode Kelompok" @@ -1025,7 +1025,7 @@ msgstr "Kode Kelompok" msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1061,11 +1061,11 @@ msgstr "Pengguna yang menyerahkan order ini" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1135,11 +1135,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" @@ -1161,8 +1161,8 @@ msgstr "Produksi" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Sumber stok item" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Sumber stok item" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Nomor Seri" @@ -1293,7 +1293,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" @@ -1431,8 +1431,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup" msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Item tagihan material" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" @@ -1469,7 +1469,7 @@ msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak te msgid "This stock item has already been allocated to this build output" msgstr "Stok item ini telah dialokasikan ke hasil produksi ini" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index cc92eb2150..766565f875 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -25,19 +25,19 @@ msgstr "Endpoint API non trovato" msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Inserisci la data" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Commento del file" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Scelta non valida" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Nome" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Nome" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Percorso" @@ -420,12 +420,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamita" msgid "Chinese" msgstr "Cinese" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -648,7 +648,7 @@ msgstr "Reso" msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Scelta non valida per la produzione genitore" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Riferimento Ordine Di Produzione" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Codice stato di produzione" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Codice Lotto" @@ -1025,7 +1025,7 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Data di completamento" @@ -1061,11 +1061,11 @@ msgstr "Utente che ha emesso questo ordine di costruzione" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1135,11 +1135,11 @@ msgstr "L'elemento di compilazione deve specificare un output poiché la parte p msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" @@ -1161,8 +1161,8 @@ msgstr "Produzione" msgid "Build to allocate parts" msgstr "Costruisci per allocare gli articoli" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Origine giacenza articolo" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Quantità totale richiesta per articoli rintracciabili" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1293,7 +1293,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegn msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Accetta Incompleta" @@ -1431,8 +1431,8 @@ msgstr "La quantità di produzione richiesta non è stata completata" msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1452,7 +1452,7 @@ msgstr "gli elementi degli articoli della distinta base devono puntare alla stes msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" @@ -1469,7 +1469,7 @@ msgstr "L'output di produzione non deve essere specificato per l'ubicazione dell msgid "This stock item has already been allocated to this build output" msgstr "Questa giacenza di magazzino è già stato assegnato a questa produzione" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1522,6 +1522,10 @@ msgstr "Ordine di produzione in ritardo" msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Risorse di magazzino" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Destinazione" @@ -1735,7 +1739,7 @@ msgstr "Articoli Assegnati" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "Orario dell'ultimo aggiornamento" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Limita visualizzazione `Informazioni`" msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nome azienda" @@ -2250,9 +2254,9 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Modello" @@ -2260,7 +2264,7 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Assemblaggio" 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:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Componente" @@ -2280,7 +2284,7 @@ msgstr "Componente" 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:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Acquistabile" @@ -2288,8 +2292,8 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Vendibile" @@ -2297,10 +2301,10 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Tracciabile" @@ -2308,10 +2312,10 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtuale" @@ -3251,9 +3255,9 @@ msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste del msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "Scadenza in cui questa notifica viene ricevuta" msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "Letto" msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Articoli importati" msgid "Previous Step" msgstr "Passaggio Precedente" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Descrizione azienda" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Sito Web" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Indirizzo" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Indirizzo dell'azienda" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Telefono" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contatto" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "è un cliente" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "è un fornitore" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "è un produttore" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Questa azienda produce articoli?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Azienda" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Nome parametro" msgid "Value" msgstr "Valore" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Unità" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "costo base" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Onere minimo (ad esempio tassa di stoccaggio)" msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Quantità unitaria contenuta in una singola confezione" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "multiplo" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Ordine multiplo" msgid "Available" msgstr "Disponibile" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" @@ -3814,8 +3825,8 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Elimina immagine" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Cliente" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Produttori" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Articoli ordinati" @@ -4110,7 +4121,7 @@ msgstr "Azioni Articolo Fornitore" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Ordine Articolo" @@ -4144,48 +4155,48 @@ msgstr "Elimina Articolo Fornitore" msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Ordini articoli fornitore" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Informazioni Prezzi" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "Codice Articolo Fornitore QR" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Collega Codice a Barre con l'Articolo Fornitore" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Prezzo Totale" @@ -4319,7 +4330,7 @@ msgstr "Prezzo Totale" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "Restituisci ordine" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Sconosciuto" @@ -4361,7 +4381,7 @@ msgstr "Descrizione dell'ordine (opzionale)" msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" @@ -4381,11 +4401,11 @@ msgstr "Utente o gruppo responsabile di questo ordine" msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Riferimento fornitore" @@ -4406,15 +4426,15 @@ msgstr "Codice di riferimento ordine fornitore" msgid "received by" msgstr "ricevuto da" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Data ordine completato" @@ -4426,292 +4446,283 @@ msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine d msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "spedito da" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Contesto" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "eliminato" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Ordine" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Linea" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Elemento" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "Restituisci ordine" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "Risultati" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" @@ -4751,7 +4762,7 @@ msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Elemento Riga" @@ -4759,15 +4770,15 @@ msgstr "Elemento Riga" msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" @@ -4783,75 +4794,75 @@ msgstr "Codice a barre scansionato" msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "Contrassegna ordine come completato" msgid "Complete Order" msgstr "Completa l'ordine" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Duplica selezionati" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Elementi Ricevuti" msgid "Order Notes" msgstr "Note dell'Ordine" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "Stampa rapporto ordine di reso" @@ -5169,7 +5189,7 @@ msgstr "Riferimento Cliente" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "Descrizione Articolo" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Revisione" @@ -5291,11 +5311,11 @@ msgstr "Revisione" msgid "Keywords" msgstr "Parole Chiave" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "Nome Categoria" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Scorta Minima" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "In magazzino" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "Ordinato" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "Allocato" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5371,7 +5391,7 @@ msgstr "Percorso Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -5388,17 +5408,17 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "IPN Articolo" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "Prezzo Minimo" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "Prezzo Massimo" @@ -5448,7 +5468,7 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -5523,7 +5543,7 @@ msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Nome articolo" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Categoria" @@ -5595,396 +5615,396 @@ msgstr "Livello minimo di giacenza consentito" msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Data" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "Report" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Richiesto" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Dati" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Livello" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "Quantità Distinta Base per questo elemento Distinta Base" msgid "Optional" msgstr "Opzionale" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "Consumabile" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "Quantità Totale" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "Costo Minimo Totale" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "Costo Massimo Totale" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "Report Inventario Disponibile" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "Un nuovo report di inventario è disponibile per il download" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Livello minimo di giacenza" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "Fascia di Prezzo" @@ -6803,7 +6823,7 @@ msgstr "QR Code Articolo" msgid "Link Barcode to Part" msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "Varianti" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -6910,8 +6930,8 @@ msgstr "Aggiorna prezzo articolo" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Nessuna giacenza" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" @@ -7400,7 +7420,7 @@ msgstr "Il fornitore è stato eliminato" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Totale" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -10161,8 +10181,8 @@ msgstr "Assegna Elementi di Magazzino" msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "Seleziona" @@ -10327,41 +10347,45 @@ msgstr "Elimina Parametri" msgid "No supplier parts found" msgstr "Nessun fornitore trovato" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "Disponibilità" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Modifica articolo fornitore" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Elimina articolo fornitore" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "Elimina riduzione di prezzo" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "Modifica Prezzo Limite" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "Nessuna informazione di riduzione di prezzo trovata" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Ultimo aggiornamento" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "Modifica riduzione di prezzo" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "Cancella riduzione di prezzo" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "Cancella Linea" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "Nessuna linea elementi trovata" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "Copia Fattura dei Materiali" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "In esaurimento" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "Elimina Parametro Articolo Template" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "Nessun ordine d'acquisto trovato" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "Questo elemento è in ritardo" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "Ricevi linea elemento" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "Elimina Relazione Articolo" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "Imposta la categoria prodotto per i prodotti selezionati" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "Seleziona Categoria Articolo" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "Questo test è definito per un articolo principale" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "Modifica Modello Risultato Test" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "Elimina Modello Risultato Test" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "Nessuna data specificata" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "La data specificata è nel passato" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "Speculativo" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "Quantità Di Scorte Programmate" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "Quantità Massima" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "Livello Minimo Stock" @@ -11027,19 +11051,19 @@ msgstr "Nessun dato della cronologia di acquisto disponibile" msgid "Purchase Price History" msgstr "Cronologia Prezzi Acquisto" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "Nessun dato della cronologia di vendita disponibile" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "Cronologia Prezzo Vendita" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "Non sono disponibili dati varianti" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "Variante Articolo" @@ -11152,123 +11176,123 @@ msgstr "Seleziona Linee Elementi" msgid "At least one line item must be selected" msgstr "È necessario selezionare almeno una linea elemento" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "Quantità Ricevuta" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "Stato giacenza" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "Aggiungi codice a barre" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "Rimuovi il codice a barre" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "Specifica la posizione" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "Aggiungi codice lotto" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "Aggiungi numeri seriali" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "Seriale" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Codice ordine" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "Quantità da Ricevere" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "Conferma la ricezione degli elementi" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "Ricevi Elementi Ordine D'Acquisto" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "Scansiona codice a barre" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "Scansiona il codice a barre sull'elemento in arrivo (non deve corrispondere a nessun articolo disponibile esistente)" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "Dati codice a barre non validi" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "L'Ordine è in ritardo" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Elementi" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "Duplica Linee Elementi" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "Modifica Linee Elementi" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "Cancella Linea Elemento" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "Duplica linea elemento" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "Modifica linea elemento" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "Varianti consentite" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "Prezzo" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "Includi sottocategorie" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "Sottoscritto" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "Stock disponibile" #: templates/js/translated/table_filters.js:631 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "Ha IPN" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "L'articolo possiede un part number interno" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "In giacenza" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "Acquistabile" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "Ha voci d'inventario" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 9a999b5441..a8a56d3ba5 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -23,27 +23,27 @@ msgstr "APIエンドポイントが見つかりません" #: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "" +msgstr "ユーザーにこのモデルを表示する権限がありません" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" -msgstr "" +msgstr "値がありません" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" -msgstr "" +msgstr "指定された値は有効な数値ではありません。" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" -msgstr "" +msgstr "指定された値に無効な単位があります" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" -msgstr "" +msgstr "指定された値は指定された単位に変換できませんでした" #: InvenTree/exceptions.py:90 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "エラーの詳細は管理者パネルで確認できます" #: InvenTree/fields.py:127 msgid "Enter date" @@ -51,20 +51,20 @@ msgstr "日付を入力する" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -75,11 +75,11 @@ msgstr "メモ" #: InvenTree/format.py:152 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "" +msgstr "値 '{name}' はパターン形式で表示されません" #: InvenTree/format.py:162 msgid "Provided value does not match required pattern: " -msgstr "" +msgstr "指定された値が必要なパターンと一致しません: " #: InvenTree/forms.py:145 msgid "Enter password" @@ -99,7 +99,7 @@ msgstr "新しいパスワードの確認" #: InvenTree/forms.py:160 msgid "Old password" -msgstr "" +msgstr "古いパスワード" #: InvenTree/forms.py:179 msgid "Email (again)" @@ -115,11 +115,11 @@ msgstr "毎回同じメールアドレスを入力する必要があります。 #: InvenTree/forms.py:230 InvenTree/forms.py:236 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "指定されたプライマリEメールアドレスは無効です。" #: InvenTree/forms.py:242 msgid "The provided email domain is not approved." -msgstr "" +msgstr "指定されたメールドメインは承認されていません。" #: InvenTree/helpers.py:191 msgid "Connection error" @@ -127,31 +127,31 @@ msgstr "接続エラー" #: InvenTree/helpers.py:195 InvenTree/helpers.py:200 msgid "Server responded with invalid status code" -msgstr "" +msgstr "サーバは無効なステータスコードで応答しました" #: InvenTree/helpers.py:197 msgid "Exception occurred" -msgstr "" +msgstr "例外が発生しました" #: InvenTree/helpers.py:205 msgid "Server responded with invalid Content-Length value" -msgstr "" +msgstr "サーバーが無効なContent-Length値で応答しました" #: InvenTree/helpers.py:208 msgid "Image size is too large" -msgstr "" +msgstr "画像サイズが大きすぎます" #: InvenTree/helpers.py:220 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "画像のダウンロードが最大サイズを超えました" #: InvenTree/helpers.py:225 msgid "Remote server returned empty response" -msgstr "" +msgstr "リモートサーバーが空のレスポンスを返しました" #: InvenTree/helpers.py:233 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "指定されたURLは有効な画像ファイルではありません" #: InvenTree/helpers.py:625 order/models.py:438 order/models.py:599 msgid "Invalid quantity provided" @@ -168,17 +168,17 @@ msgstr "" #: InvenTree/helpers.py:696 InvenTree/helpers.py:731 #, python-brace-format msgid "Invalid group range: {g}" -msgstr "" +msgstr "グループ範囲が無効です: {g}" #: InvenTree/helpers.py:725 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" -msgstr "" +msgstr "グループ範囲 {g} が許可された数量を超えています ({q})" #: InvenTree/helpers.py:749 InvenTree/helpers.py:756 InvenTree/helpers.py:771 #, python-brace-format msgid "Invalid group sequence: {g}" -msgstr "" +msgstr "無効なグループシーケンスです: {g}" #: InvenTree/helpers.py:781 msgid "No serial numbers found" @@ -247,16 +247,16 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "ファイルコメント" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "無効な選択です" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "お名前" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "お名前" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,21 +384,21 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" #: InvenTree/models.py:765 msgid "Markdown notes (optional)" -msgstr "" +msgstr "マークダウンメモ (オプション)" #: InvenTree/models.py:792 msgid "Barcode Data" -msgstr "" +msgstr "バーコード情報" #: InvenTree/models.py:793 msgid "Third party barcode data" -msgstr "" +msgstr "サードパーティ製バーコードデータ" #: InvenTree/models.py:798 msgid "Barcode Hash" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -568,11 +568,11 @@ msgstr "ポーランド語" #: InvenTree/settings.py:730 msgid "Portuguese" -msgstr "" +msgstr "ポルトガル語" #: InvenTree/settings.py:731 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "ポルトガル語 (ブラジル)" #: InvenTree/settings.py:732 msgid "Russian" @@ -580,7 +580,7 @@ msgstr "ロシア語" #: InvenTree/settings.py:733 msgid "Slovenian" -msgstr "" +msgstr "スロベニア語" #: InvenTree/settings.py:734 msgid "Swedish" @@ -602,7 +602,7 @@ msgstr "ベトナム語" msgid "Chinese" msgstr "中国語" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -646,9 +646,9 @@ msgstr "返品済" #: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 msgid "In Progress" -msgstr "" +msgstr "処理中" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -657,7 +657,7 @@ msgstr "発送済み" #: InvenTree/status_codes.py:223 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:224 msgid "Attention needed" @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1155,14 +1155,14 @@ msgstr "" #: templates/InvenTree/search.html:139 templates/js/translated/build.js:2809 #: templates/navbar.html:38 msgid "Build" -msgstr "" +msgstr "組立" #: build/models.py:1438 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "テンプレート" @@ -2260,7 +2264,7 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "コンポーネント" @@ -2280,7 +2284,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "購入可能" @@ -2288,8 +2292,8 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "追跡可能" @@ -2308,10 +2312,10 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" -msgstr "" +msgstr "製造元" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" -msgstr "" +msgstr "仕入先" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "パーツの注文" @@ -4036,7 +4047,7 @@ msgstr "" #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" -msgstr "" +msgstr "仕入先" #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/detail.html:392 @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "カテゴリ" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,11 +6897,11 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" -msgstr "" +msgstr "在庫" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:37 @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "在庫切れ" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" @@ -12544,45 +12576,45 @@ msgstr "" #: users/admin.py:222 msgid "Personal info" -msgstr "" +msgstr "個人情報" #: users/admin.py:223 msgid "Permissions" -msgstr "" +msgstr "許可" #: users/admin.py:226 msgid "Important dates" -msgstr "" +msgstr "重要な日付" #: users/models.py:230 msgid "Permission set" -msgstr "" +msgstr "パーミッション設定" #: users/models.py:238 msgid "Group" -msgstr "" +msgstr "グループ" #: users/models.py:241 msgid "View" -msgstr "" +msgstr "表示" #: users/models.py:241 msgid "Permission to view items" -msgstr "" +msgstr "項目を表示する権限" #: users/models.py:243 msgid "Permission to add items" -msgstr "" +msgstr "項目を追加する権限" #: users/models.py:245 msgid "Change" -msgstr "" +msgstr "変更" #: users/models.py:245 msgid "Permissions to edit items" -msgstr "" +msgstr "項目を編集する権限" #: users/models.py:247 msgid "Permission to delete items" -msgstr "" +msgstr "項目を削除する権限" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index bffc29068e..3d9dc7eb27 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:11\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:51\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -25,19 +25,19 @@ msgstr "API endpoint 없음" msgid "User does not have permission to view this model" msgstr "이 모델을 볼 수 있는 권한이 없습니다." -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "날짜 입력" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "이름" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "이름" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "베트남어" msgid "Chinese" msgstr "중국어" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" @@ -648,7 +648,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "일련번호" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "회사명" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "구입 가능" @@ -2288,8 +2292,8 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "판매 가능" @@ -2297,10 +2301,10 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "회사 소개" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "웹사이트" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "회사 웹사이트 URL" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "주소" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "회사 주소" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "전화번호" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "이메일" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "회사" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "고객" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "데이터" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "단가" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "선택" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 2aca92d140..8eb3a23dab 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -25,19 +25,19 @@ msgstr "API eindpunt niet gevonden" msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Voer datum in" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Bestand opmerking" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Ongeldige keuze" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Naam" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Naam" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Pad" @@ -420,12 +420,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamees" msgid "Chinese" msgstr "Chinees" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -648,7 +648,7 @@ msgstr "Retour" msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Ongeldige keuze voor bovenliggende productie" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Productieorderreferentie" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Productiestatuscode" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Batchcode" @@ -1025,7 +1025,7 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Verwachte opleveringsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1061,11 +1061,11 @@ msgstr "Gebruiker die de productieorder heeft gegeven" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1135,11 +1135,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" @@ -1161,8 +1161,8 @@ msgstr "Product" msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Bron voorraadartikel" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Serienummers" @@ -1293,7 +1293,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:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze p msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" @@ -1431,8 +1431,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid" msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" @@ -1469,7 +1469,7 @@ msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van n msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" @@ -1522,6 +1522,10 @@ msgstr "Achterstallige Productieorder" msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Bestemming" @@ -1735,7 +1739,7 @@ msgstr "Toegewezen Onderdelen" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Tonen `over` beperken" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Bedrijfsnaam" @@ -2250,9 +2254,9 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Sjabloon" @@ -2260,7 +2264,7 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Component" @@ -2280,7 +2284,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Koopbaar" @@ -2288,8 +2292,8 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Verkoopbaar" @@ -2297,10 +2301,10 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Volgbaar" @@ -2308,10 +2312,10 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtueel" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "Vorige Stap" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Website" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "URL bedrijfswebsite" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adres" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Bedrijfsadres" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Telefoonnummer" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Telefoonnummer voor contact" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contact" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Contactpunt" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "is klant" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "is leverancier" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "is fabrikant" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Bedrijf" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "MPN" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Parameternaam" msgid "Value" msgstr "Waarde" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Eenheden" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "Opmerking" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "basisprijs" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Minimale kosten (bijv. voorraadkosten)" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "meerdere" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Order meerdere" msgid "Available" msgstr "Beschikbaar" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Klant" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Fabrikanten" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Order onderdeel" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Order Onderdeel" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Nieuw voorraadartikel aanmaken" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Leverancier Onderdelenorders" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Prijsinformatie" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Totaalprijs" @@ -4319,7 +4330,7 @@ msgstr "Totaalprijs" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Link naar externe pagina" @@ -4381,11 +4401,11 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze order" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Inkooporder status" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Leveranciersreferentie" @@ -4406,15 +4426,15 @@ msgstr "Order referentiecode van leverancier" msgid "received by" msgstr "ontvangen door" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Order voltooid op datum" @@ -4426,292 +4446,283 @@ msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Context" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Order" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Zending" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Regel" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Artikel" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "De leverancier moet overeenkomen met de inkooporder" msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Artikel" @@ -4759,15 +4770,15 @@ msgstr "Artikel" msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "Order markeren als voltooid" msgid "Complete Order" msgstr "Order Voltooien" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Ontvangen Artikelen" msgid "Order Notes" msgstr "Ordernotities" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "Klantreferentie" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "In bestelling" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "Toegewezen" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Datum" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Stukprijs" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Totaal" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "Parameter verwijderen" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Laatst bijgewerkt" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "Verwijder Regel" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "Geen artikelen gevonden" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "Artikel ontvangen" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "Selecteer artikelen" msgid "At least one line item must be selected" msgstr "Ten minste één artikel moet worden geselecteerd" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Order Code" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "Ontvang Artikelen Inkooporder" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "Order is achterstallig" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Artikelen" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "Artikel wijzigen" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "Artikel verwijderen" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "Artikel bewerken" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 805bb9cd3c..3cad9c980e 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -25,19 +25,19 @@ msgstr "API-endepunkt ikke funnet" msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Oppgi dato" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Kommentar til fil" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Ugyldig valg" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Navn" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Navn" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Sti" @@ -420,12 +420,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamesisk" msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -648,7 +648,7 @@ msgstr "Returnert" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Ugylding valg for overordnet build" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Bygg ordrereferanse" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Produksjonsstatuskode" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Batchkode" @@ -1025,7 +1025,7 @@ msgstr "Batchkode" msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Forventet sluttdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Fullført dato" @@ -1061,11 +1061,11 @@ msgstr "Brukeren som utstede denne prosjekt order" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1135,11 +1135,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" @@ -1161,8 +1161,8 @@ msgstr "Prosjekt" msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Kildelagervare" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Kildelagervare" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Heltallsverdi kreves for sporbare deler" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Serienummer" @@ -1293,7 +1293,7 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Godta uferdig" @@ -1431,8 +1431,8 @@ msgstr "Nødvendig produksjonsmengde er ikke nådd" msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Stykklisteartikkel" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part må peke på den samme delen som produksjonsordren" msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" @@ -1469,7 +1469,7 @@ msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede dele msgid "This stock item has already been allocated to this build output" msgstr "Denne lagervaren er allerede tildelt til denne produksjonsartikkelen" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" @@ -1522,6 +1522,10 @@ msgstr "Forfalt produksjonsordre" msgid "Build order {bo} is now overdue" msgstr "Produksjonsordre {bo} er nå forfalt" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Lagerkilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Destinasjon" @@ -1735,7 +1739,7 @@ msgstr "Tildelte deler" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "Tidsstempel for forrige oppdatering" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Begrens visning av 'om'" msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Firmanavn" @@ -2250,9 +2254,9 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Mal" @@ -2260,7 +2264,7 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Sammenstilling" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Komponent" @@ -2280,7 +2284,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2288,8 +2292,8 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Salgbar" @@ -2297,10 +2301,10 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Sporbar" @@ -2308,10 +2312,10 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtuelle" @@ -3251,9 +3255,9 @@ msgstr "Maksimal lengdegrense for strenger vist i tabeller" msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "Endepunktet hvor denne webhooken er mottatt" msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "Les" msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Deler importert" msgid "Previous Step" msgstr "Forrige trinn" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Beskrivelse av firma" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Beskrivelse av firmaet" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Nettside" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adresse" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Firmaet adresse" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "E-post" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Kontaktpunkt" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "er kunde" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "er leverandør" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "er produsent" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Firma" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Velg del" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Produsent" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "MPN" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Parameternavn" msgid "Value" msgstr "Verdi" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Enheter" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Leverandør" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "SKU-kode" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift på lager)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Minimum betaling (f.eks. lageravgift på lager)" msgid "Packaging" msgstr "Emballasje" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Enhetsantall levert i én pakke" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "flere" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Bestill flere" msgid "Available" msgstr "Tilgjengelig" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" @@ -3814,8 +3825,8 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Slett bilde" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Kunde" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Produsenter" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Bestill del" @@ -4110,7 +4121,7 @@ msgstr "Handlinger for leverandørdeler" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Bestill del" @@ -4144,48 +4155,48 @@ msgstr "Slett Leverandørdel" msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Leverandørs lagerbeholdning" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Opprett ny lagervare" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Ny Lagervare" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Leverandørdelordre" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Prisinformasjon" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Legg til Prisbrudd" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "Leverandørdel-QR-kode" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Koble strekkode til Leverandørdel" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Oppdater Delens Tilgjengelighet" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "QR-kode" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Total pris" @@ -4319,7 +4330,7 @@ msgstr "Total pris" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "Returordre" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Ukjent" @@ -4361,7 +4381,7 @@ msgstr "Ordrebeskrivelse (valgfritt)" msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Lenke til ekstern side" @@ -4381,11 +4401,11 @@ msgstr "Bruker eller gruppe ansvarlig for ordren" msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Status for innkjøpsordre" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Leverandørreferanse" @@ -4406,15 +4426,15 @@ msgstr "Leverandør ordrereferanse" msgid "received by" msgstr "mottatt av" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Utgivelsesdato" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Dato bestilling ble sendt" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Dato ordre ble fullført" @@ -4426,292 +4446,283 @@ msgstr "Delleverandør må matche PO-leverandør" msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Leveringsdato" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "sendt av" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige varepartier" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Linje referanse" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Linje notat" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Kontekst" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "slettet" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Ordre" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Mottatt" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Linje" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Artikkel" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "Returordre" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "Utfall" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" @@ -4719,11 +4730,11 @@ msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" @@ -4751,7 +4762,7 @@ msgstr "Leverandør må samsvare med innkjøpsordre" msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Ordrelinje" @@ -4759,15 +4770,15 @@ msgstr "Ordrelinje" msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" @@ -4783,75 +4794,75 @@ msgstr "Skannet strekkode" msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "Valuta for linje" @@ -4933,6 +4944,10 @@ msgstr "Merk ordren som fullført" msgid "Complete Order" msgstr "Fullfør ordre" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Duplikatvalg" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Mottatte artikler" msgid "Order Notes" msgstr "Ordrenotater" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "Skriv ut returordrerapport" @@ -5169,7 +5189,7 @@ msgstr "Kundereferanse" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede. msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Delnavn" @@ -5547,11 +5567,11 @@ msgstr "Delbeskrivelse (valgfritt)" msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Kategori" @@ -5595,396 +5615,396 @@ msgstr "Minimum tillatt lagernivå" msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "Kontrollsum for stykkliste" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "Lagret sjekkliste-kontrollsum" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "Bruker ansvarlig for denne delen" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "Minimal stykklistekostnad" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "Maksimal stykklistekostnad" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "Antall" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Dato" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "Rapport" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Data" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Nivå" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "Stykklistenivå" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i stykkliste" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "Stykklisteantall for denne stykklisteartikkelen" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "Stykklisteantall for denne stykklisteartikkelen" msgid "Optional" msgstr "Valgfritt" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Denne stykklisteartikkelen er valgfri" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "Forbruksvare" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne sykklisteartikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "Stykklisteartikkel-referanse" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Stykklisteartikkel-notater" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "Stykklistelinje kontrollsum" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "Denne stykklisteartikkelen er godkjent" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne stykklisteartikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne stykklisteartikkelen" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "Stykklisteartikkel-erstatning" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "Overordnet stykklisteartikkel" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Del 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Del 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM produkter før kopiering" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "Inkluder arvet" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM elementer som er arvet fra mal-deler" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM elementer dupliseres" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Varsel om lav lagerbeholdning" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "Totalt Antall" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "Total Kostnad Min" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "Total Kostnad Max" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "Lagertellingsrapport tilgjengelig" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Minimalt lagerbeholdningsnivå" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "Prisområde" @@ -6803,7 +6823,7 @@ msgstr "Del-QR-kode" msgid "Link Barcode to Part" msgstr "Koble strekkode til Del" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "Varianter" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -6910,8 +6930,8 @@ msgstr "Oppdater delprising" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Sist oppdatert" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "Legg til salgsprisbrudd" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Ingen lagerbeholdning" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "Leverandør ble slettet" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Enhetspris" @@ -7413,7 +7433,7 @@ msgstr "Ekstra linjeelementer" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Total" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk på følgende lenke for å se denne delen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "Slett Parameter" msgid "No supplier parts found" msgstr "Ingen leverandørdeler funnet" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "Tilgjengelighet" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Rediger leverandørdel" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Slett leverandørdel" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "Slett Prisbrudd" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "Rediger Prisbrudd" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "Ingen informasjon om prisbrudd funnet" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Sist oppdatert" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "Rediger prisbrudd" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "Slett prisbrudd" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "Kopier Stykkliste" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "Lite lager" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 75faa9c19f..8c6c34f187 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -25,19 +25,19 @@ msgstr "Nie znaleziono punktu końcowego API" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Wprowadź dane" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Komentarz pliku" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Błędny wybór" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Nazwa" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Nazwa" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Ścieżka" @@ -420,12 +420,12 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Wietnamski" msgid "Chinese" msgstr "Chiński" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -648,7 +648,7 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Kod statusu budowania" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Kod partii" @@ -1025,7 +1025,7 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Data zakończenia" @@ -1061,11 +1061,11 @@ msgstr "Użytkownik, który wydał to zamówienie" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -1161,8 +1161,8 @@ msgstr "Budowa" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Element BOM" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Przeznaczenie" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nazwa firmy" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Szablon" @@ -2260,7 +2264,7 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Komponent" @@ -2280,7 +2284,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2288,8 +2292,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2297,10 +2301,10 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -2308,10 +2312,10 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Wirtualny" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "Poprzedni krok" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Strona WWW" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adres" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Adres firmy" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "jest klientem" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Firma" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "Wartość" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Jednostki" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "Dostępne" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Klient" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Producenci" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Zamów komponent" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Zamów komponent" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Utwórz nowy towar" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Nowy towar" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Informacja cenowa" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Cena całkowita" @@ -4319,7 +4330,7 @@ msgstr "Cena całkowita" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" @@ -4381,11 +4401,11 @@ msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Status zamówienia zakupu" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "odebrane przez" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Odebrane" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Linia" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Komponent" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "Oznacz zamówienie jako zakończone" msgid "Complete Order" msgstr "Kompletne zamówienie" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Duplikuj wybrane" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Otrzymane elementy" msgid "Order Notes" msgstr "Notatki zamówień" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Wersja" @@ -5291,11 +5311,11 @@ msgstr "Wersja" msgid "Keywords" msgstr "Słowa kluczowe" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "Na stanie" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "W Zamówieniu" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "Przydzielono" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "Ścieżka kategorii" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "IPN komponentu" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Nazwa komponentu" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Kategoria" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Data" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Wymagane" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Dane" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Poziom" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Część 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Część 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "Kod QR części" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "Warianty" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Brak w magazynie" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Razem" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "Wybierz" @@ -10327,41 +10347,45 @@ msgstr "Usuń parametr" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Ostatnio aktualizowane" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "Kod zamówienia" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "Ilość do otrzymania" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "Potwierdź odbiór elementów" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "Obesrwowane" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "Posiada IPN" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "Część posiada wewnętrzny numer części" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "Możliwość zakupu" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index b8575d95e9..125793d0db 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -25,19 +25,19 @@ msgstr "API endpoint não encontrado" msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "Nenhum valor fornecido" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "O valor fornecido não é um número válido" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "Valor fornecido tem uma unidade inválida" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "Valor fornecido não pôde ser convertido para a unidade especificada" @@ -51,20 +51,20 @@ msgstr "Insira uma Data" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Comentario sobre arquivo" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Escolha inválida" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Escolha inválida" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Nome" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Nome" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Caminho" @@ -420,12 +420,12 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamita" msgid "Chinese" msgstr "Chinês" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" @@ -648,7 +648,7 @@ msgstr "Retornado" msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Escolha de Produção parental inválida" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Referência do pedido de produção" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Ordem de produção para qual este serviço está alocado" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Código de situação da produção" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Código de Lote" @@ -1025,7 +1025,7 @@ msgstr "Código de Lote" msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Data alvo final" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Data de conclusão" @@ -1061,11 +1061,11 @@ msgstr "Usuário que emitiu esta ordem de produção" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "Usuário ou grupo responsável para esta ordem de produção" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Saída da produção não corresponde à Ordem de Produção" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -1135,11 +1135,11 @@ msgstr "Item de produção deve especificar a saída, pois peças mestres estão msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" @@ -1161,8 +1161,8 @@ msgstr "Produção" msgid "Build to allocate parts" msgstr "Faça uma Produção para atribuir peças" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Origem do item em estoque" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Origem do item em estoque" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "Quantidade inteira necessária para peças rastreáveis" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Números de Série" @@ -1293,7 +1293,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" @@ -1431,8 +1431,8 @@ msgstr "Quantidade de produção requerida não foi concluída" msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "Item LDM" @@ -1452,7 +1452,7 @@ msgstr "bin_item.part deve indicar a mesma peça da ordem de produção" msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" @@ -1469,7 +1469,7 @@ msgstr "Saída de produção deve ser definida para alocação de peças não ra msgid "This stock item has already been allocated to this build output" msgstr "O item em estoque já foi alocado para essa saída de produção" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" @@ -1522,6 +1522,10 @@ msgstr "Pedido de produção vencido" msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Concluído" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Origem do estoque" msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Destino" @@ -1735,7 +1739,7 @@ msgstr "Peças alocadas" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "Tempo da última atualização" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "Restringir a exibição 'sobre'" msgid "Show the `about` modal only to superusers" msgstr "Mostrar 'sobre' modal apenas para superusuários" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nome da empresa" @@ -2250,9 +2254,9 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Modelo" @@ -2260,7 +2264,7 @@ msgstr "Modelo" msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Montagem" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Componente" @@ -2280,7 +2284,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Comprável" @@ -2288,8 +2292,8 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Vendível" @@ -2297,10 +2301,10 @@ msgstr "Vendível" msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Rastreável" @@ -2308,10 +2312,10 @@ msgstr "Rastreável" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtual" @@ -3251,9 +3255,9 @@ msgstr "Limite máximo de comprimento para frases exibidas nas visualizações d msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "Ponto final em qual o gancho web foi recebido" msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "Lida" msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Peças importadas" msgid "Previous Step" msgstr "Passo Anterior" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Descrição da empresa" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Descrição da empresa" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Página Web" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "URL do Site da empresa" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Endereço" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Endereço da empresa" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Número de telefone" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Número de telefone do contato" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "Email" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Endereço de e-mail do contato" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contato" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Ponto de contato" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Link para informações externas da empresa" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "é cliente" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Você vende itens para esta empresa?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "é fornecedor" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Você compra itens desta empresa?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "é fabricante" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Esta empresa fabrica peças?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Empresa" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Peça base" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "NPF" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Peça do Fabricante" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Nome do parâmetro" msgid "Value" msgstr "Valor" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Unidades" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "Código (SKU)" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "Descrição da peça fornecedor" msgid "Note" msgstr "Anotação" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "preço base" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "Taxa mínima (ex.: taxa de estoque)" msgid "Packaging" msgstr "Embalagem" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "Quantidade fornecida em um único pacote" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "múltiplo" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "Pedir múltiplos" msgid "Available" msgstr "Disponível" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" @@ -3814,8 +3825,8 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "Excluir imagem" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Cliente" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir peça" @@ -4110,7 +4121,7 @@ msgstr "Ações de peças do fornecedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "Pedir Peça" @@ -4144,48 +4155,48 @@ msgstr "Excluir Fornecedor da Peça" msgid "No supplier information available" msgstr "Nenhuma informação do fornecedor está disponível" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Estoque de Peça do Fornecedor" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Criar novo item de estoque" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Novo item de estoque" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Pedidos de peças do fornecedor" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Informações de Preço" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "Adicionar parcela de preço" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "QR Code da Peça do Fornecedor" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "Vincular Código de Barras à Parte do Fornecedor" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "Atualizar disponibilidade de peças" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "Código QR" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Preço Total" @@ -4319,7 +4330,7 @@ msgstr "Preço Total" msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "Nenhum pedido de compra correspondente encontrado" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "Devolver pedido" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "Desconhecido" @@ -4361,7 +4381,7 @@ msgstr "Descrição do pedido (opcional)" msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Link para página externa" @@ -4381,11 +4401,11 @@ msgstr "Usuário ou grupo responsável para este pedido" msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "Situação do pedido de compra" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "Referencia do fornecedor" @@ -4406,15 +4426,15 @@ msgstr "Código de referência do pedido fornecedor" msgid "received by" msgstr "recebido por" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" @@ -4426,292 +4446,283 @@ msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "enviado por" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo a partir da ordem)" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "Contexto" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "excluído" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "Pedido" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "Recebido" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "Linha" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "Item" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "Devolver pedido" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" @@ -4719,11 +4730,11 @@ msgstr "Gastos para reparar e/ou devolver esta linha de itens" msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" @@ -4751,7 +4762,7 @@ msgstr "O fornecedor deve corresponder o pedido de compra" msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "Itens de linha" @@ -4759,15 +4770,15 @@ msgstr "Itens de linha" msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" @@ -4783,75 +4794,75 @@ msgstr "Código de barras lido" msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "Item do pedido não bate com a ordem de devolução" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -4933,6 +4944,10 @@ msgstr "Marcar pedido como concluído" msgid "Complete Order" msgstr "Completar Pedido" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "Duplicar seleção" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "Itens Recebidos" msgid "Order Notes" msgstr "Notas do Pedido" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "Imprimir guia de devolução" @@ -5169,7 +5189,7 @@ msgstr "Referência do Cliente" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome da Peça" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "Descrição da Peça" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Revisão" @@ -5291,11 +5311,11 @@ msgstr "Revisão" msgid "Keywords" msgstr "Palavras chave" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "ID da Categoria" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "Nome da Categoria" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Estoque Mínimo" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "Em Estoque" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "No pedido" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "Alocado" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -5371,7 +5391,7 @@ msgstr "Caminho da Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Peças" @@ -5388,17 +5408,17 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "IPN da Peça" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "Preço Mínimo" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "Preço Máximo" @@ -5448,7 +5468,7 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -5523,7 +5543,7 @@ msgstr "Uma parte com este Nome, IPN e Revisão já existe." msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Nome da peça" @@ -5547,11 +5567,11 @@ msgstr "Descrição da peça (opcional)" msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Categoria" @@ -5595,396 +5615,396 @@ msgstr "Nível mínimo de estoque permitido" msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "Data" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "Reportar" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Requerido" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "Dados" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "Nível" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "Quantidade de LDM para este item LDM" msgid "Optional" msgstr "Opcional" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "Consumível" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "Validado" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "O item da LDM foi calidado" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "Notificação de estoque baixo" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "Quantidade Total" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "Custo Min Total" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "Custo Max Total" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "Balanço de Estoque Disponível" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "Um novo relatório de balanço do estoque está disponível para baixar" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Nível mínimo de estoque" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "Faixa de Preço" @@ -6803,7 +6823,7 @@ msgstr "QR Code da Peça" msgid "Link Barcode to Part" msgstr "Vincular Código de Barras à Peça" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "peça" @@ -6877,8 +6897,8 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -6910,8 +6930,8 @@ msgstr "Atualizar Preço da Peça" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "Última atualização" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "Adicionar intervalo de preço de venda" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Sem Estoque" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" @@ -7400,7 +7420,7 @@ msgstr "Fornecedor foi excluído" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "Preço unitário" @@ -7413,7 +7433,7 @@ msgstr "Extra Itens de Linha" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "Total" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "Situação do Estoque" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "Tem entradas em balanço" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 6611b23f8f..98e8577470 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: 2023-05-22 13:00+0000\n" +"POT-Creation-Date: 2023-05-26 09:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,19 +26,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -52,20 +52,20 @@ msgstr "" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -248,16 +248,16 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -280,8 +280,8 @@ msgstr "" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -326,8 +326,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -338,18 +338,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -363,12 +363,12 @@ msgstr "" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -385,7 +385,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -421,12 +421,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -603,15 +603,15 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:92 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:96 +#: InvenTree/status.py:65 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:68 msgid "InvenTree system health checks failed" msgstr "" @@ -649,7 +649,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -884,9 +884,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -894,7 +894,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -914,13 +914,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -943,13 +943,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1018,7 +1018,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1041,7 +1041,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1062,11 +1062,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1078,7 +1078,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1118,7 +1118,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1136,11 +1136,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1162,8 +1162,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1187,9 +1187,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1208,17 +1208,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1276,8 +1276,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1303,15 +1303,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1343,12 +1343,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1432,8 +1432,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1453,7 +1453,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1470,7 +1470,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1510,15 +1510,15 @@ msgstr "" msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:100 +#: build/tasks.py:101 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:118 +#: build/tasks.py:119 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:123 +#: build/tasks.py:124 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1630,13 +1630,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1669,15 +1669,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1719,8 +1719,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1736,7 +1736,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1960,7 +1960,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2045,7 +2045,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2251,9 +2251,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2261,7 +2261,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2272,7 +2272,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2281,7 +2281,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2289,8 +2289,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2298,10 +2298,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2309,10 +2309,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3252,9 +3252,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3276,7 +3276,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3378,7 +3378,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3455,160 +3455,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3616,70 +3616,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3688,15 +3697,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3704,35 +3713,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3745,15 +3752,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3815,8 +3822,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3825,7 +3832,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4008,7 +4015,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4111,7 +4118,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4145,48 +4152,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4311,7 +4318,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4320,7 +4327,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4329,12 +4336,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4362,7 +4378,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4382,11 +4398,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4395,7 +4411,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4407,15 +4423,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4427,292 +4443,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4720,11 +4727,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4752,7 +4759,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4760,15 +4767,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4784,75 +4791,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -5043,7 +5050,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5170,7 +5177,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5261,29 +5268,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5292,11 +5299,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5317,14 +5324,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5341,15 +5348,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5372,7 +5379,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5389,17 +5396,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5449,7 +5456,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5524,7 +5531,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5548,11 +5555,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5596,396 +5603,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5994,370 +6001,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6781,9 +6788,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6804,7 +6811,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6878,8 +6885,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6911,8 +6918,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6977,7 +6984,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7089,7 +7096,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7110,45 +7117,45 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:27 -#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:32 +#: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree Notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:39 -#: plugin/builtin/integration/core_notifications.py:80 -msgid "Enable email notifications" -msgstr "" - #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:41 +#: plugin/builtin/integration/core_notifications.py:82 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:45 +#: plugin/builtin/integration/core_notifications.py:46 msgid "Enable slack notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:47 msgid "Allow sending of slack channel messages for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:51 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Slack incoming webhook url" msgstr "" -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:53 msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:162 +#: plugin/builtin/integration/core_notifications.py:163 msgid "Open link" msgstr "" @@ -7401,7 +7408,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7414,7 +7421,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7567,7 +7574,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9438,7 +9445,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10162,8 +10169,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10328,41 +10335,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10624,7 +10635,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10785,7 +10796,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10866,137 +10877,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11028,19 +11039,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11153,123 +11164,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12014,7 +12025,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12034,7 +12045,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12206,22 +12217,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index c28bcd4307..afeb85bea4 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -25,19 +25,19 @@ msgstr "Конечная точка API не обнаружена" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Введите дату" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Комментарий к файлу" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Неверный выбор" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Название" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Название" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Путь" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Вьетнамский" msgid "Chinese" msgstr "Китайский" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -648,7 +648,7 @@ msgstr "Возвращено" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Неверный выбор для родительской сборки msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Ссылка на заказ" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Код статуса сборки" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Код партии" @@ -1025,7 +1025,7 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Дата завершения" @@ -1061,11 +1061,11 @@ msgstr "Пользователь, выпустивший этот заказ н #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Вывод сборки не совпадает с порядком сб #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1135,11 +1135,11 @@ msgstr "Элемент сборки должен указать вывод сб msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" @@ -1161,8 +1161,8 @@ msgstr "Сборка" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Исходный складской предмет" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Исходный складской предмет" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "BOM Компонент" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Назначение" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Название компании" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Шаблон" @@ -2260,7 +2264,7 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Компонент" @@ -2280,7 +2284,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Можно продавать" @@ -2297,10 +2301,10 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Отслеживание" @@ -2308,10 +2312,10 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "Детали импортированы" msgid "Previous Step" msgstr "Предыдущий шаг" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "Описание компании" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "Описание компании" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "Сайт" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Адрес" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Адрес компании" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Телефон" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "EMail" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Контакт" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "покупатель" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "поставщик" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "производитель" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "Компания" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Наименование параметра" msgid "Value" msgstr "Значение" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "Ед.изм" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "Заметка" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "Упаковка" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Покупатель" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Производители" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "Создать единицу хранения" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "Новая единица хранения" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Информация о цене" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "Общая стоимость" @@ -4319,7 +4330,7 @@ msgstr "Общая стоимость" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Версия" @@ -5291,11 +5311,11 @@ msgstr "Версия" msgid "Keywords" msgstr "Ключевые слова" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "Код категории" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Минимальный запас" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "На складе" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "Путь к категории" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "IPN" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Наименование детали" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "Категория" @@ -5595,396 +5615,396 @@ msgstr "Минимально допустимый складской запас" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "Разновидности" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "Удалить параметр" msgid "No supplier parts found" msgstr "Информация о детали поставщика не найдена" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Редактировать деталь поставщика" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Удалить деталь поставщика" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "Последнее обновление" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "Добавить код партии" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index e22836d7d5..520b032693 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -25,19 +25,19 @@ msgstr "API vmesnik ni najden" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Vnesi datum" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Komentar datoteke" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Nedovoljena izbira" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Ime" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Ime" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Pot" @@ -420,12 +420,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamščina" msgid "Chinese" msgstr "Kitajščina" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -648,7 +648,7 @@ msgstr "Vrnjeno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Neveljavna izbira za nadrejeno izgradnjo" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Referenca naloga izgradnje" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Koda statusa izgradnje" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Številka serije" @@ -1025,7 +1025,7 @@ msgstr "Številka serije" msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Datom končanja" @@ -1061,11 +1061,11 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot s msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" @@ -1161,8 +1161,8 @@ msgstr "Izdelava" msgid "Build to allocate parts" msgstr "Izdelaj da prestaviš dele" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Izvorna postavka zaloge" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Izvorna postavka zaloge" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 027d5fa3b0..5f6aee50a9 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -25,19 +25,19 @@ msgstr "API-slutpunkt hittades inte" msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Ange datum" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Ogiltigt val" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Namn" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Namn" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "Sökväg" @@ -420,12 +420,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamesiska" msgid "Chinese" msgstr "Kinesiska" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -648,7 +648,7 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "Ogiltigt val för överordnad bygge" msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Byggorderreferens" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Bygg statuskod" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Batchkod" @@ -1025,7 +1025,7 @@ msgstr "Batchkod" msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1061,11 +1061,11 @@ msgstr "Användare som utfärdade denna byggorder" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Byggutgång matchar inte bygg order" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" @@ -1161,8 +1161,8 @@ msgstr "Bygg" msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Källa lagervara" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Källa lagervara" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Serienummer" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Slutförd" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Mål" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Företagsnamn" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Virtuell" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Artiklar" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 5e9acf9eaa..fe7ea012f6 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -25,19 +25,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "ป้อนวันที่" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "ความเห็นของไฟล์" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "ชื่อ" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "ชื่อ" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -420,12 +420,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "ภาษาเวียดนาม" msgid "Chinese" msgstr "ภาษาจีน" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" @@ -648,7 +648,7 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 8338f948f8..d338ef71fa 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -25,19 +25,19 @@ msgstr "API uç noktası bulunamadı" msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Tarih giriniz" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Dosya yorumu" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "Geçersiz seçim" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "Adı" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "Adı" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Vietnamca" msgid "Chinese" msgstr "Çince" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -648,7 +648,7 @@ msgstr "İade" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "Yapım İşi Emri Referansı" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "Yapım işi durum kodu" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "Sıra numarası" @@ -1025,7 +1025,7 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "Hedef tamamlama tarihi" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1061,11 +1061,11 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -1161,8 +1161,8 @@ msgstr "Yapım İşi" msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "Kaynak stok kalemi" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "Hedef" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Şirket adı" @@ -2250,9 +2254,9 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "Şablon" @@ -2260,7 +2264,7 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "Montaj" 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:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "Bileşen" @@ -2280,7 +2284,7 @@ msgstr "Bileşen" 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:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2288,8 +2292,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "Satılabilir" @@ -2297,10 +2301,10 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "Takip Edilebilir" @@ -2308,10 +2312,10 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "Sanal" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "Adres" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "Şirket adresi" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "E-posta" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "İletişim" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "ÜPN" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "Parametre adı" msgid "Value" msgstr "Değer" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "Paketleme" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "çoklu" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "Mevcut" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "Müşteri" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "Üreticiler" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Parça siparişi" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "Tedarikçi Parçası Emirleri" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "Fiyat Bilgisi" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "Siparişi tamamlandı olarak işaretle" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "Sipariş Notları" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "DPN" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "Revizyon" @@ -5291,11 +5311,11 @@ msgstr "Revizyon" msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "Minimum Stok" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "Parça adı" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "Gerekli" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "Stok Yok" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" -msgstr "DPN Var" +msgid "Has Units" +msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "DPN Var" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index dbe243577c..306d36dfda 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -25,19 +25,19 @@ msgstr "API endpoint không tồn tại" msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "Nhập ngày" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "Đính kèm" msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "Bình luận tệp tin" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "" @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "Tiếng Việt" msgid "Chinese" msgstr "Tiếng Trung" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "" @@ -648,7 +648,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "" @@ -1025,7 +1025,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1061,11 +1061,11 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1135,11 +1135,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1161,8 +1161,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "" @@ -1293,7 +1293,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "" @@ -1431,8 +1431,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "" @@ -1452,7 +1452,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1469,7 +1469,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "" @@ -1522,6 +1522,10 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "" @@ -1735,7 +1739,7 @@ msgstr "" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" @@ -2250,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "" @@ -2260,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "" @@ -2280,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "" @@ -2288,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "" @@ -2297,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "" @@ -2308,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "" msgid "Value" msgstr "" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "" msgid "Packaging" msgstr "" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "" msgid "Available" msgstr "" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "" @@ -4144,48 +4155,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4381,11 +4401,11 @@ msgstr "" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "" msgid "Complete Order" msgstr "" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5291,11 +5311,11 @@ msgstr "" msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "" @@ -5595,396 +5615,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "" msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 -msgid "Part has internal part number" +msgid "Part has defined units" msgstr "" #: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 9b893d60cf..ad90de81b6 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: 2023-05-23 21:34+0000\n" -"PO-Revision-Date: 2023-05-24 16:12\n" +"POT-Creation-Date: 2023-05-26 22:54+0000\n" +"PO-Revision-Date: 2023-05-27 22:52\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -25,19 +25,19 @@ msgstr "未找到 API 端点" msgid "User does not have permission to view this model" msgstr "用户无权查看该模型" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -51,20 +51,20 @@ msgstr "输入日期" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -247,16 +247,16 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -279,8 +279,8 @@ msgstr "文件注释" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -325,8 +325,8 @@ msgid "Invalid choice" msgstr "选择无效" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -337,18 +337,18 @@ msgstr "选择无效" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "名称" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -362,12 +362,12 @@ msgstr "名称" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -384,7 +384,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "路径" @@ -420,12 +420,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -602,7 +602,7 @@ msgstr "越南语" msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:61 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -648,7 +648,7 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -883,9 +883,9 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -893,7 +893,7 @@ msgstr "相关生产订单" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -913,13 +913,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -942,13 +942,13 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1017,7 +1017,7 @@ msgid "Build status code" msgstr "生产状态代码" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "批量代码" @@ -1025,7 +1025,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1040,7 +1040,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "完成日期:" @@ -1061,11 +1061,11 @@ msgstr "发布此生产订单的用户" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1077,7 +1077,7 @@ msgstr "构建此订单的用户或组" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1117,7 +1117,7 @@ msgstr "生产产出与订单不匹配" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1135,11 +1135,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1161,8 +1161,8 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1186,9 +1186,9 @@ msgstr "源库存项" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1207,17 +1207,17 @@ msgstr "源库存项" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1275,8 +1275,8 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "序列号" @@ -1293,7 +1293,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1302,15 +1302,15 @@ msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1342,12 +1342,12 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1415,7 +1415,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1431,8 +1431,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "BOM项" @@ -1452,7 +1452,7 @@ msgstr "bom_item.part 必须与生产订单指向相同的部件" msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1469,7 +1469,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1522,6 +1522,10 @@ msgstr "超时构建顺序" msgid "Build order {bo} is now overdue" msgstr "生成订单 {bo} 现在已过期" +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 #: order/templates/order/order_base.html:29 @@ -1629,13 +1633,13 @@ msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1668,15 +1672,15 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1718,8 +1722,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "目的地" @@ -1735,7 +1739,7 @@ msgstr "已分配的部件" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -1959,7 +1963,7 @@ msgstr "最后一次更新时间" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2044,7 +2048,7 @@ msgstr "限制显示 `关于` 信息" msgid "Show the `about` modal only to superusers" msgstr "只向超级用户显示 `about` 信息" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "公司名称" @@ -2250,9 +2254,9 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "模板" @@ -2260,7 +2264,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2271,7 +2275,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "组件" @@ -2280,7 +2284,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "可购买" @@ -2288,8 +2292,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "可销售" @@ -2297,10 +2301,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "可追踪" @@ -2308,10 +2312,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "虚拟" @@ -3251,9 +3255,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3275,7 +3279,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3377,7 +3381,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3454,160 +3458,160 @@ msgstr "已导入商品" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "公司简介" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "网站" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "地址" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "公司地址" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "电话号码" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "电子邮件" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "联系人" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "是客户" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "是供应商" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "公司" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "选择商品" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3615,70 +3619,79 @@ msgstr "参数名称" msgid "Value" msgstr "数值" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "参数值" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "单位" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "供应商" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3687,15 +3700,15 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3703,35 +3716,33 @@ msgstr "最低收费(例如库存费)" msgid "Packaging" msgstr "打包" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "包装数量" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" -msgstr "单个包装提供的的单位数量" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "订购多个" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3744,15 +3755,15 @@ msgstr "订购多个" msgid "Available" msgstr "空闲" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "供应商的存货数量" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3814,8 +3825,8 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "删除图片" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3824,7 +3835,7 @@ msgstr "删除图片" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "客户" @@ -4007,7 +4018,7 @@ msgid "Manufacturers" msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "订购商品" @@ -4110,7 +4121,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "订购商品" @@ -4144,48 +4155,48 @@ msgstr "删除供应商部件" msgid "No supplier information available" msgstr "无可用供应商信息" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "供货商商品库存" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "新建库存物品" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "新库存物品" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "供应商商品订单" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "价格信息" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "供应商部件二维码" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "将条码绑定至供应商部件" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "更新部件可用性" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4310,7 +4321,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4319,7 +4330,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4328,12 +4339,21 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +msgid "Return Order" +msgstr "" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "未知" @@ -4361,7 +4381,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "链接到外部页面" @@ -4381,11 +4401,11 @@ msgstr "负责此订单的用户或群组" msgid "Point of contact for this order" msgstr "" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4394,7 +4414,7 @@ msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4406,15 +4426,15 @@ msgstr "" msgid "received by" msgstr "接收方" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "签发日期" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "订单签发日期" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "订单完成日期" @@ -4426,292 +4446,283 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "尚未分配部件,因此订单无法完成" -#: order/models.py:858 +#: order/models.py:860 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "物品数量" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "单价" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "物品" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1738 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -msgid "Return Order" -msgstr "" - -#: order/models.py:1914 +#: order/models.py:1916 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4719,11 +4730,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4751,7 +4762,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4759,15 +4770,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4783,75 +4794,75 @@ msgstr "" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "数量必须大于0" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "输入序列号以进行分配" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1562 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 msgid "Line price currency" msgstr "" @@ -4933,6 +4944,10 @@ msgstr "标记订单为完成" msgid "Complete Order" msgstr "完成订单" +#: order/templates/order/order_base.html:95 +msgid "Supplier part thumbnail" +msgstr "" + #: order/templates/order/order_base.html:110 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 @@ -5042,7 +5057,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5146,6 +5161,11 @@ msgstr "" msgid "Order Notes" msgstr "" +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + #: order/templates/order/return_order_base.html:61 msgid "Print return order report" msgstr "" @@ -5169,7 +5189,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5260,29 +5280,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "部件名称" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "部件描述" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "版本号" @@ -5291,11 +5311,11 @@ msgstr "版本号" msgid "Keywords" msgstr "关键词" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5316,14 +5336,14 @@ msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "有库存" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "订购中" @@ -5340,15 +5360,15 @@ msgid "Allocated" msgstr "已分配" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5371,7 +5391,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5388,17 +5408,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5448,7 +5468,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "输入数量以计算价格" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5523,7 +5543,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "商品名称" @@ -5547,11 +5567,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "类别" @@ -5595,396 +5615,396 @@ msgstr "允许的最小库存量" msgid "Units of measure for this part" msgstr "该部件的计量单位" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "日期" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "报告" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "子部件" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -5993,370 +6013,370 @@ msgstr "" msgid "Optional" msgstr "可选项" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "选择相关的部件" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "复制图像" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "从原部件复制图像" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "更新" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "未提供数量" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "总数量" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6780,9 +6800,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6803,7 +6823,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 msgid "part" msgstr "" @@ -6877,8 +6897,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -6910,8 +6930,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "最后更新" @@ -6976,7 +6996,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "无库存" @@ -7088,7 +7108,7 @@ msgid "Match found for barcode data" msgstr "找到匹配条形码数据" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7400,7 +7420,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "单价" @@ -7413,7 +7433,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7566,7 +7586,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9437,7 +9457,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10161,8 +10181,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10327,41 +10347,45 @@ msgstr "删除参数" msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10623,7 +10647,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -10784,7 +10808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -10865,137 +10889,137 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "找不到部件" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "以列表显示" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "以网格显示" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "以树形图显示" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "编辑测试结果" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "删除测试结果" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "无指定日期" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "指定的日期已过" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "最大数量" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11027,19 +11051,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11152,123 +11176,123 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12013,7 +12037,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12033,7 +12057,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12205,22 +12229,30 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 -msgid "Has IPN" +msgid "Has Units" msgstr "" #: templates/js/translated/table_filters.js:632 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:636 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index f895201009..1c9cb15d56 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-22 13:00+0000\n" +"POT-Creation-Date: 2023-05-26 09:46+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -25,23 +25,23 @@ msgstr "未找到 API 端点" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:44 +#: InvenTree/conversion.py:62 #, fuzzy #| msgid "No value set" msgid "No value provided" msgstr "未设置值" -#: InvenTree/conversion.py:66 +#: InvenTree/conversion.py:84 #, fuzzy #| msgid "Chosen value is not a valid option" msgid "Provided value is not a valid number" msgstr "选择的值不是一个有效的选项" -#: InvenTree/conversion.py:68 InvenTree/conversion.py:70 +#: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:72 +#: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -55,20 +55,20 @@ msgstr "输入日期" #: InvenTree/fields.py:204 InvenTree/models.py:764 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:557 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: company/models.py:597 company/templates/company/sidebar.html:35 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2988 part/templates/part/part_sidebar.html:63 +#: part/models.py:2998 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220 -#: templates/js/translated/company.js:1272 templates/js/translated/order.js:329 +#: templates/js/translated/company.js:1279 templates/js/translated/order.js:329 #: templates/js/translated/part.js:1021 -#: templates/js/translated/purchase_order.js:2127 +#: templates/js/translated/purchase_order.js:2129 #: templates/js/translated/return_order.js:740 #: templates/js/translated/sales_order.js:1022 #: templates/js/translated/sales_order.js:1929 @@ -251,16 +251,16 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:491 common/models.py:2661 company/models.py:130 -#: company/models.py:304 company/models.py:544 order/models.py:232 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 +#: InvenTree/models.py:491 common/models.py:2661 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:232 +#: order/models.py:1092 order/models.py:1452 part/admin.py:39 #: part/models.py:899 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:962 -#: templates/js/translated/company.js:1261 templates/js/translated/order.js:333 -#: templates/js/translated/part.js:2091 -#: templates/js/translated/purchase_order.js:1967 -#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/company.js:1268 templates/js/translated/order.js:333 +#: templates/js/translated/part.js:2095 +#: templates/js/translated/purchase_order.js:1969 +#: templates/js/translated/purchase_order.js:2133 #: templates/js/translated/return_order.js:744 #: templates/js/translated/sales_order.js:1011 #: templates/js/translated/sales_order.js:1934 @@ -283,8 +283,8 @@ msgstr "文件注释" #: InvenTree/models.py:501 InvenTree/models.py:502 common/models.py:2120 #: common/models.py:2121 common/models.py:2334 common/models.py:2335 -#: common/models.py:2591 common/models.py:2592 part/models.py:2996 -#: part/models.py:3084 part/models.py:3163 part/models.py:3183 +#: common/models.py:2591 common/models.py:2592 part/models.py:3006 +#: part/models.py:3094 part/models.py:3173 part/models.py:3193 #: plugin/models.py:206 plugin/models.py:207 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2737 @@ -329,8 +329,8 @@ msgid "Invalid choice" msgstr "选择无效" #: InvenTree/models.py:646 InvenTree/models.py:647 common/models.py:2320 -#: company/models.py:388 label/models.py:102 part/models.py:845 -#: part/models.py:3332 plugin/models.py:41 report/models.py:159 +#: company/models.py:390 label/models.py:102 part/models.py:845 +#: part/models.py:3342 plugin/models.py:41 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:59 @@ -341,18 +341,18 @@ msgstr "选择无效" #: templates/js/translated/company.js:856 #: templates/js/translated/company.js:1056 templates/js/translated/part.js:1127 #: templates/js/translated/part.js:1283 templates/js/translated/part.js:1397 -#: templates/js/translated/part.js:2474 templates/js/translated/stock.js:2428 +#: templates/js/translated/part.js:2478 templates/js/translated/stock.js:2428 msgid "Name" msgstr "名称" #: InvenTree/models.py:653 build/models.py:163 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:310 company/models.py:550 +#: company/models.py:312 company/models.py:590 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:109 -#: order/models.py:228 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:867 part/models.py:3348 part/templates/part/category.html:81 +#: order/models.py:228 order/models.py:1116 part/admin.py:194 part/admin.py:276 +#: part/models.py:867 part/models.py:3358 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:172 #: report/models.py:586 report/models.py:630 @@ -366,12 +366,12 @@ msgstr "名称" #: templates/js/translated/company.js:973 #: templates/js/translated/company.js:1236 templates/js/translated/order.js:280 #: templates/js/translated/part.js:1179 templates/js/translated/part.js:1292 -#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1738 -#: templates/js/translated/part.js:2028 templates/js/translated/part.js:2510 -#: templates/js/translated/part.js:2601 -#: templates/js/translated/purchase_order.js:1625 -#: templates/js/translated/purchase_order.js:1771 -#: templates/js/translated/purchase_order.js:1949 +#: templates/js/translated/part.js:1408 templates/js/translated/part.js:1736 +#: templates/js/translated/part.js:2026 templates/js/translated/part.js:2514 +#: templates/js/translated/part.js:2605 +#: templates/js/translated/purchase_order.js:1627 +#: templates/js/translated/purchase_order.js:1773 +#: templates/js/translated/purchase_order.js:1951 #: templates/js/translated/return_order.js:282 #: templates/js/translated/sales_order.js:757 #: templates/js/translated/stock.js:1403 templates/js/translated/stock.js:1781 @@ -388,7 +388,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:669 InvenTree/models.py:670 -#: templates/js/translated/part.js:2519 templates/js/translated/stock.js:2469 +#: templates/js/translated/part.js:2523 templates/js/translated/stock.js:2469 msgid "Path" msgstr "路径" @@ -426,12 +426,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3786 +#: InvenTree/serializers.py:60 part/models.py:3796 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:90 company/models.py:152 -#: company/templates/company/company_base.html:107 part/models.py:2835 +#: InvenTree/serializers.py:90 company/models.py:154 +#: company/templates/company/company_base.html:107 part/models.py:2845 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -608,15 +608,15 @@ msgstr "越南语" msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:92 part/serializers.py:886 +#: InvenTree/status.py:61 part/serializers.py:876 msgid "Background worker check failed" msgstr "后台工作人员检查失败" -#: InvenTree/status.py:96 +#: InvenTree/status.py:65 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:99 +#: InvenTree/status.py:68 msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" @@ -654,7 +654,7 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:183 order/models.py:1331 #: templates/js/translated/sales_order.js:1476 #: templates/js/translated/sales_order.js:1600 #: templates/js/translated/sales_order.js:1904 @@ -907,9 +907,9 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:155 order/models.py:355 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3687 part/templates/part/upload_bom.html:54 +#: build/models.py:155 order/models.py:355 order/models.py:764 +#: order/models.py:1086 order/models.py:1723 part/admin.py:278 +#: part/models.py:3697 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -917,7 +917,7 @@ msgstr "相关生产订单" #: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913 #: templates/js/translated/build.js:2068 templates/js/translated/order.js:273 #: templates/js/translated/pricing.js:372 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1994 #: templates/js/translated/return_order.js:693 #: templates/js/translated/sales_order.js:1768 msgid "Reference" @@ -939,13 +939,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" #: build/models.py:180 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:723 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:389 part/models.py:2848 part/models.py:2962 -#: part/models.py:3102 part/models.py:3121 part/models.py:3140 -#: part/models.py:3161 part/models.py:3253 part/models.py:3444 -#: part/models.py:3552 part/models.py:3652 part/models.py:3966 -#: part/serializers.py:850 part/serializers.py:1253 +#: build/templates/build/detail.html:29 company/models.py:775 +#: order/models.py:1194 order/models.py:1310 order/models.py:1311 +#: part/models.py:389 part/models.py:2858 part/models.py:2972 +#: part/models.py:3112 part/models.py:3131 part/models.py:3150 +#: part/models.py:3171 part/models.py:3263 part/models.py:3454 +#: part/models.py:3562 part/models.py:3662 part/models.py:3976 +#: part/serializers.py:840 part/serializers.py:1243 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,13 +968,13 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:322 #: templates/js/translated/company.js:807 #: templates/js/translated/company.js:914 -#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1723 -#: templates/js/translated/part.js:1795 templates/js/translated/part.js:1997 +#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1721 +#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1995 #: templates/js/translated/pricing.js:355 #: templates/js/translated/purchase_order.js:707 -#: templates/js/translated/purchase_order.js:1233 -#: templates/js/translated/purchase_order.js:1770 -#: templates/js/translated/purchase_order.js:1934 +#: templates/js/translated/purchase_order.js:1235 +#: templates/js/translated/purchase_order.js:1772 +#: templates/js/translated/purchase_order.js:1936 #: templates/js/translated/return_order.js:507 #: templates/js/translated/return_order.js:674 #: templates/js/translated/sales_order.js:252 @@ -1043,7 +1043,7 @@ msgid "Build status code" msgstr "生产状态代码" #: build/models.py:245 build/serializers.py:269 order/serializers.py:505 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1058 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1060 msgid "Batch Code" msgstr "批量代码" @@ -1051,7 +1051,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:252 order/models.py:240 part/models.py:1033 +#: build/models.py:252 order/models.py:240 part/models.py:1036 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:307 #: templates/js/translated/sales_order.js:782 @@ -1066,7 +1066,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:260 order/models.py:405 order/models.py:1764 +#: build/models.py:260 order/models.py:405 order/models.py:1766 #: templates/js/translated/build.js:2921 msgid "Completion Date" msgstr "完成日期:" @@ -1087,11 +1087,11 @@ msgstr "发布此生产订单的用户" #: build/templates/build/detail.html:122 order/models.py:254 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1037 +#: order/templates/order/sales_order_base.html:222 part/models.py:1040 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2893 -#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/purchase_order.js:1684 #: templates/js/translated/return_order.js:327 #: templates/js/translated/table_filters.js:446 msgid "Responsible" @@ -1103,7 +1103,7 @@ msgstr "构建此订单的用户或组" #: build/models.py:289 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 -#: company/templates/company/supplier_part.html:182 +#: company/templates/company/supplier_part.html:195 #: order/templates/order/order_base.html:171 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 @@ -1143,7 +1143,7 @@ msgstr "生产产出与订单不匹配" #: build/models.py:814 build/serializers.py:212 build/serializers.py:251 #: build/serializers.py:811 order/models.py:436 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1095 part/serializers.py:1416 +#: order/serializers.py:500 part/serializers.py:1085 part/serializers.py:1406 #: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1163,11 +1163,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1290 order/models.py:1598 +#: build/models.py:1290 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1296 order/models.py:1601 +#: build/models.py:1296 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1189,8 +1189,8 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1060 -#: order/serializers.py:1081 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1454 build/serializers.py:791 order/serializers.py:1058 +#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1214,9 +1214,9 @@ msgstr "源库存项" #: build/models.py:1467 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2142 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1234 +#: order/models.py:1072 order/models.py:1644 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2975 part/models.py:3668 +#: part/forms.py:47 part/models.py:2985 part/models.py:3678 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1235,17 +1235,17 @@ msgstr "源库存项" #: templates/js/translated/build.js:686 templates/js/translated/build.js:952 #: templates/js/translated/build.js:1395 templates/js/translated/build.js:1961 #: templates/js/translated/build.js:2437 -#: templates/js/translated/company.js:1406 +#: templates/js/translated/company.js:1413 #: templates/js/translated/model_renderers.js:204 #: templates/js/translated/order.js:286 templates/js/translated/part.js:902 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3038 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:3042 #: templates/js/translated/pricing.js:367 #: templates/js/translated/pricing.js:460 #: templates/js/translated/pricing.js:508 #: templates/js/translated/pricing.js:602 #: templates/js/translated/purchase_order.js:710 -#: templates/js/translated/purchase_order.js:1774 -#: templates/js/translated/purchase_order.js:1998 +#: templates/js/translated/purchase_order.js:1776 +#: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/sales_order.js:269 #: templates/js/translated/sales_order.js:1154 #: templates/js/translated/sales_order.js:1471 @@ -1303,8 +1303,8 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1238 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1082 +#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1084 #: templates/js/translated/stock.js:298 templates/js/translated/stock.js:496 msgid "Serial Numbers" msgstr "序列号" @@ -1321,7 +1321,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:668 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1330,15 +1330,15 @@ msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" #: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:607 order/serializers.py:1587 part/serializers.py:862 +#: order/serializers.py:605 order/serializers.py:1585 part/serializers.py:852 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:517 #: templates/js/translated/barcode.js:765 templates/js/translated/build.js:937 #: templates/js/translated/build.js:1976 -#: templates/js/translated/purchase_order.js:1107 -#: templates/js/translated/purchase_order.js:1197 +#: templates/js/translated/purchase_order.js:1109 +#: templates/js/translated/purchase_order.js:1199 #: templates/js/translated/sales_order.js:1464 #: templates/js/translated/sales_order.js:1575 #: templates/js/translated/sales_order.js:1583 @@ -1376,12 +1376,12 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:790 +#: order/models.py:1749 order/serializers.py:523 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2865 -#: templates/js/translated/purchase_order.js:1237 -#: templates/js/translated/purchase_order.js:1641 +#: templates/js/translated/purchase_order.js:1239 +#: templates/js/translated/purchase_order.js:1643 #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/stock.js:1876 templates/js/translated/stock.js:2696 @@ -1449,7 +1449,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1128 +#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1465,8 +1465,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3575 -#: part/models.py:3958 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3585 +#: part/models.py:3968 msgid "BOM Item" msgstr "BOM项" @@ -1486,7 +1486,7 @@ msgstr "bom_item.part 必须与生产订单指向相同的部件" msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:846 order/serializers.py:1118 +#: build/serializers.py:846 order/serializers.py:1116 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1503,7 +1503,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:887 order/serializers.py:1402 +#: build/serializers.py:887 order/serializers.py:1400 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1543,15 +1543,15 @@ msgstr "可选项目" msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" -#: build/tasks.py:100 +#: build/tasks.py:101 msgid "Stock required for build order" msgstr "生产订单所需的库存" -#: build/tasks.py:118 +#: build/tasks.py:119 msgid "Overdue Build Order" msgstr "超时构建顺序" -#: build/tasks.py:123 +#: build/tasks.py:124 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "生成订单 {bo} 现在已过期" @@ -1663,13 +1663,13 @@ msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:236 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: order/models.py:1098 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1606 -#: templates/js/translated/purchase_order.js:1658 -#: templates/js/translated/purchase_order.js:2074 +#: templates/js/translated/build.js:2913 templates/js/translated/part.js:1605 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:2076 #: templates/js/translated/return_order.js:315 #: templates/js/translated/return_order.js:715 #: templates/js/translated/sales_order.js:790 @@ -1702,15 +1702,15 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1303 +#: order/models.py:1402 order/models.py:1550 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report_base.html:14 #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/pricing.js:898 +#: templates/js/translated/pricing.js:901 #: templates/js/translated/sales_order.js:724 #: templates/js/translated/sales_order.js:947 #: templates/js/translated/stock.js:2625 @@ -1756,8 +1756,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1219 -#: templates/js/translated/purchase_order.js:2116 +#: build/templates/build/detail.html:49 order/models.py:1221 +#: templates/js/translated/purchase_order.js:2118 msgid "Destination" msgstr "目的地" @@ -1773,7 +1773,7 @@ msgstr "已分配的部件" #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1402 #: templates/js/translated/model_renderers.js:209 -#: templates/js/translated/purchase_order.js:1203 +#: templates/js/translated/purchase_order.js:1205 #: templates/js/translated/stock.js:1057 templates/js/translated/stock.js:1890 #: templates/js/translated/stock.js:2830 #: templates/js/translated/table_filters.js:255 @@ -2004,7 +2004,7 @@ msgstr "最后一次更新时间" #: common/models.py:104 order/admin.py:17 order/models.py:230 #: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1629 +#: templates/js/translated/purchase_order.js:1631 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:761 #: templates/js/translated/table_filters.js:20 @@ -2093,7 +2093,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:951 company/models.py:99 company/models.py:100 +#: common/models.py:951 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "公司名称" @@ -2303,9 +2303,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1156 part/admin.py:55 part/models.py:3449 +#: common/models.py:1156 part/admin.py:55 part/models.py:3459 #: report/models.py:165 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:665 msgid "Template" msgstr "模板" @@ -2313,7 +2313,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:991 +#: common/models.py:1163 part/admin.py:51 part/admin.py:283 part/models.py:994 #: templates/js/translated/bom.js:1594 #: templates/js/translated/table_filters.js:272 #: templates/js/translated/table_filters.js:619 @@ -2324,7 +2324,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1170 part/admin.py:52 part/models.py:997 +#: common/models.py:1170 part/admin.py:52 part/models.py:1000 #: templates/js/translated/table_filters.js:627 msgid "Component" msgstr "组件" @@ -2333,7 +2333,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1177 part/admin.py:53 part/models.py:1008 +#: common/models.py:1177 part/admin.py:53 part/models.py:1011 msgid "Purchaseable" msgstr "可购买" @@ -2341,8 +2341,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1184 part/admin.py:54 part/models.py:1013 -#: templates/js/translated/table_filters.js:648 +#: common/models.py:1184 part/admin.py:54 part/models.py:1016 +#: templates/js/translated/table_filters.js:653 msgid "Salable" msgstr "可销售" @@ -2350,10 +2350,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1191 part/admin.py:56 part/models.py:1003 +#: common/models.py:1191 part/admin.py:56 part/models.py:1006 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:669 msgid "Trackable" msgstr "可追踪" @@ -2361,10 +2361,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1198 part/admin.py:57 part/models.py:1023 +#: common/models.py:1198 part/admin.py:57 part/models.py:1026 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:673 msgid "Virtual" msgstr "虚拟" @@ -3320,9 +3320,9 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2150 company/serializers.py:435 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 -#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1661 +#: common/models.py:2150 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1131 order/models.py:1938 +#: templates/js/translated/company.js:1418 templates/js/translated/part.js:1659 #: templates/js/translated/pricing.js:607 #: templates/js/translated/return_order.js:705 msgid "Price" @@ -3344,7 +3344,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2326 part/admin.py:50 part/models.py:1018 +#: common/models.py:2326 part/admin.py:50 part/models.py:1021 #: plugin/models.py:47 templates/js/translated/table_filters.js:101 #: templates/js/translated/table_filters.js:185 #: templates/js/translated/table_filters.js:435 @@ -3446,7 +3446,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2702 company/models.py:141 part/models.py:912 +#: common/models.py:2702 company/models.py:143 part/models.py:912 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3527,160 +3527,160 @@ msgstr "已导入商品" msgid "Previous Step" msgstr "" -#: company/models.py:104 +#: company/models.py:106 msgid "Company description" msgstr "公司简介" -#: company/models.py:105 +#: company/models.py:107 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:111 company/templates/company/company_base.html:101 +#: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:500 msgid "Website" msgstr "网站" -#: company/models.py:112 +#: company/models.py:114 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:116 company/templates/company/company_base.html:119 +#: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" msgstr "地址" -#: company/models.py:117 +#: company/models.py:119 msgid "Company address" msgstr "公司地址" -#: company/models.py:120 +#: company/models.py:122 msgid "Phone number" msgstr "电话号码" -#: company/models.py:121 +#: company/models.py:123 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:124 company/templates/company/company_base.html:133 +#: company/models.py:126 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:644 msgid "Email" msgstr "电子邮件" -#: company/models.py:124 +#: company/models.py:126 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:127 company/templates/company/company_base.html:140 +#: company/models.py:129 company/templates/company/company_base.html:140 #: order/models.py:262 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "联系人" -#: company/models.py:128 +#: company/models.py:130 msgid "Point of contact" msgstr "" -#: company/models.py:130 +#: company/models.py:132 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:144 +#: company/models.py:146 msgid "is customer" msgstr "是客户" -#: company/models.py:144 +#: company/models.py:146 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:146 +#: company/models.py:148 msgid "is supplier" msgstr "是供应商" -#: company/models.py:146 +#: company/models.py:148 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:148 +#: company/models.py:150 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:148 +#: company/models.py:150 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:155 +#: company/models.py:157 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:221 company/templates/company/company_base.html:8 +#: company/models.py:223 company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:473 msgid "Company" msgstr "公司" -#: company/models.py:276 company/models.py:515 stock/models.py:675 +#: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:591 msgid "Base Part" msgstr "" -#: company/models.py:280 company/models.py:519 +#: company/models.py:282 company/models.py:557 msgid "Select part" msgstr "选择商品" -#: company/models.py:291 company/templates/company/company_base.html:77 +#: company/models.py:293 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:362 +#: company/templates/company/supplier_part.html:146 part/serializers.py:352 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:484 #: templates/js/translated/company.js:809 #: templates/js/translated/company.js:939 #: templates/js/translated/company.js:1206 -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:694 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:292 +#: company/models.py:294 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:298 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:368 +#: company/models.py:300 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:358 #: templates/js/translated/company.js:325 #: templates/js/translated/company.js:808 #: templates/js/translated/company.js:955 #: templates/js/translated/company.js:1225 templates/js/translated/part.js:1576 -#: templates/js/translated/purchase_order.js:1773 -#: templates/js/translated/purchase_order.js:1980 +#: templates/js/translated/purchase_order.js:1775 +#: templates/js/translated/purchase_order.js:1982 msgid "MPN" msgstr "" -#: company/models.py:299 +#: company/models.py:301 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:305 +#: company/models.py:307 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:311 +#: company/models.py:313 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:358 company/models.py:382 company/models.py:538 +#: company/models.py:360 company/models.py:384 company/models.py:578 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:389 +#: company/models.py:391 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:395 +#: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2254 templates/js/translated/company.js:857 #: templates/js/translated/company.js:1062 templates/js/translated/part.js:1301 @@ -3688,70 +3688,81 @@ msgstr "参数名称" msgid "Value" msgstr "数值" -#: company/models.py:396 +#: company/models.py:398 msgid "Parameter value" msgstr "参数值" -#: company/models.py:402 part/admin.py:40 part/models.py:985 -#: part/models.py:3339 part/templates/part/part_base.html:286 +#: company/models.py:404 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:985 part/models.py:3349 +#: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1068 templates/js/translated/part.js:1314 -#: templates/js/translated/part.js:1402 +#: templates/js/translated/part.js:1402 templates/js/translated/part.js:2041 msgid "Units" msgstr "单位" -#: company/models.py:403 +#: company/models.py:405 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:483 +#: company/models.py:498 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:504 +#, fuzzy +#| msgid "Quantity must be greater than zero" +msgid "Pack units must be greater than zero" +msgstr "数量必须大于0" + +#: company/models.py:520 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:525 company/templates/company/company_base.html:82 +#: company/models.py:564 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:378 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:351 stock/templates/stock/item_base.html:225 +#: part/serializers.py:341 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:324 #: templates/js/translated/company.js:488 #: templates/js/translated/company.js:1179 templates/js/translated/part.js:1544 #: templates/js/translated/pricing.js:484 -#: templates/js/translated/purchase_order.js:1612 -#: templates/js/translated/table_filters.js:693 +#: templates/js/translated/purchase_order.js:1614 +#: templates/js/translated/table_filters.js:698 msgid "Supplier" msgstr "供应商" -#: company/models.py:526 +#: company/models.py:565 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:531 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:357 +#: company/models.py:570 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:347 #: templates/js/translated/company.js:323 templates/js/translated/part.js:1562 #: templates/js/translated/pricing.js:496 -#: templates/js/translated/purchase_order.js:1772 -#: templates/js/translated/purchase_order.js:1955 +#: templates/js/translated/purchase_order.js:1774 +#: templates/js/translated/purchase_order.js:1957 msgid "SKU" msgstr "" -#: company/models.py:532 part/serializers.py:357 +#: company/models.py:571 part/serializers.py:347 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:539 +#: company/models.py:579 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:545 +#: company/models.py:585 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:551 +#: company/models.py:591 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:556 company/templates/company/supplier_part.html:175 -#: part/admin.py:279 part/models.py:3690 part/templates/part/upload_bom.html:59 +#: company/models.py:596 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3700 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3760,15 +3771,15 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:560 part/models.py:1909 +#: company/models.py:600 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:562 company/templates/company/supplier_part.html:161 +#: company/models.py:602 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1241 @@ -3776,35 +3787,33 @@ msgstr "最低收费(例如库存费)" msgid "Packaging" msgstr "打包" -#: company/models.py:562 +#: company/models.py:602 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:565 company/serializers.py:330 -#: company/templates/company/supplier_part.html:168 -#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1597 -#: templates/js/translated/part.js:1653 +#: company/models.py:606 templates/js/translated/company.js:1246 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 #: templates/js/translated/purchase_order.js:260 #: templates/js/translated/purchase_order.js:788 -#: templates/js/translated/purchase_order.js:1032 -#: templates/js/translated/purchase_order.js:2011 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/purchase_order.js:1034 +#: templates/js/translated/purchase_order.js:2013 +#: templates/js/translated/purchase_order.js:2030 msgid "Pack Quantity" msgstr "" -#: company/models.py:566 -msgid "Unit quantity supplied in a single pack" +#: company/models.py:607 +msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:572 part/models.py:1911 +#: company/models.py:624 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:572 +#: company/models.py:624 msgid "Order multiple" msgstr "" -#: company/models.py:580 company/templates/company/supplier_part.html:115 +#: company/models.py:632 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1123 templates/js/translated/build.js:2106 @@ -3817,15 +3826,15 @@ msgstr "" msgid "Available" msgstr "空闲" -#: company/models.py:581 +#: company/models.py:633 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:585 +#: company/models.py:637 msgid "Availability Updated" msgstr "" -#: company/models.py:586 +#: company/models.py:638 msgid "Date of last update of availability data" msgstr "" @@ -3889,8 +3898,8 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:778 +#: order/models.py:1737 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3899,7 +3908,7 @@ msgstr "" #: templates/js/translated/return_order.js:264 #: templates/js/translated/sales_order.js:739 #: templates/js/translated/stock.js:2660 -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:702 msgid "Customer" msgstr "客户" @@ -4092,7 +4101,7 @@ msgid "Manufacturers" msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 -#: company/templates/company/supplier_part.html:215 +#: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 msgid "Order part" msgstr "订购商品" @@ -4197,7 +4206,7 @@ msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 -#: company/templates/company/supplier_part.html:216 +#: company/templates/company/supplier_part.html:229 #: part/templates/part/detail.html:112 msgid "Order Part" msgstr "订购商品" @@ -4231,48 +4240,48 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:194 +#: company/templates/company/supplier_part.html:207 msgid "Supplier Part Stock" msgstr "供货商商品库存" -#: company/templates/company/supplier_part.html:197 +#: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 msgid "Create new stock item" msgstr "" -#: company/templates/company/supplier_part.html:198 +#: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 #: templates/js/translated/stock.js:468 msgid "New Stock Item" msgstr "" -#: company/templates/company/supplier_part.html:211 +#: company/templates/company/supplier_part.html:224 msgid "Supplier Part Orders" msgstr "供应商商品订单" -#: company/templates/company/supplier_part.html:236 +#: company/templates/company/supplier_part.html:249 msgid "Pricing Information" msgstr "价格信息" -#: company/templates/company/supplier_part.html:241 +#: company/templates/company/supplier_part.html:254 #: templates/js/translated/company.js:373 #: templates/js/translated/pricing.js:670 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:268 +#: company/templates/company/supplier_part.html:281 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:279 +#: company/templates/company/supplier_part.html:292 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:352 +#: company/templates/company/supplier_part.html:365 msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290 +#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:292 #: part/templates/part/category.html:199 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 #: stock/templates/stock/location.html:168 @@ -4399,7 +4408,7 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:309 -#: templates/js/translated/purchase_order.js:2052 +#: templates/js/translated/purchase_order.js:2054 #: templates/js/translated/sales_order.js:1797 msgid "Total Price" msgstr "" @@ -4408,7 +4417,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1449 order/models.py:1177 order/models.py:1261 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4417,12 +4426,23 @@ msgstr "" #: templates/js/translated/part.js:1521 templates/js/translated/pricing.js:776 #: templates/js/translated/purchase_order.js:114 #: templates/js/translated/purchase_order.js:709 -#: templates/js/translated/purchase_order.js:1596 +#: templates/js/translated/purchase_order.js:1598 #: templates/js/translated/stock.js:1960 templates/js/translated/stock.js:2608 msgid "Purchase Order" msgstr "" -#: order/api.py:1453 templates/js/translated/sales_order.js:997 +#: order/api.py:1453 order/models.py:1908 order/models.py:1954 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:249 +#: templates/js/translated/stock.js:2642 +#, fuzzy +#| msgid "Returned" +msgid "Return Order" +msgstr "已退回" + +#: order/api.py:1455 templates/js/translated/sales_order.js:997 msgid "Unknown" msgstr "" @@ -4460,7 +4480,7 @@ msgstr "描述 (可选)" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:232 order/models.py:1091 order/models.py:1451 +#: order/models.py:232 order/models.py:1093 order/models.py:1453 msgid "Link to external page" msgstr "" @@ -4482,11 +4502,11 @@ msgstr "负责此订单的用户或群组" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:356 order/models.py:763 +#: order/models.py:356 order/models.py:765 msgid "Order reference" msgstr "" -#: order/models.py:364 order/models.py:788 +#: order/models.py:364 order/models.py:790 msgid "Purchase order status" msgstr "" @@ -4495,7 +4515,7 @@ msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" #: order/models.py:387 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1621 +#: templates/js/translated/purchase_order.js:1623 msgid "Supplier Reference" msgstr "" @@ -4507,15 +4527,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:399 order/models.py:1758 +#: order/models.py:399 order/models.py:1760 msgid "Issue Date" msgstr "" -#: order/models.py:400 order/models.py:1759 +#: order/models.py:400 order/models.py:1761 msgid "Date order was issued" msgstr "" -#: order/models.py:406 order/models.py:1765 +#: order/models.py:406 order/models.py:1767 msgid "Date order was completed" msgstr "" @@ -4527,304 +4547,293 @@ msgstr "" msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:777 +#: order/models.py:779 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:798 order/models.py:1754 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:798 order/models.py:1755 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:800 order/models.py:1407 #: templates/js/translated/sales_order.js:798 #: templates/js/translated/sales_order.js:979 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:807 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:856 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:860 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:861 templates/js/translated/sales_order.js:458 +#: order/models.py:863 templates/js/translated/sales_order.js:458 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:866 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1073 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1117 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1120 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1441 +#: order/models.py:1176 order/models.py:1261 order/models.py:1302 +#: order/models.py:1401 order/models.py:1550 order/models.py:1907 +#: order/models.py:1954 templates/js/translated/sales_order.js:1441 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1195 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1200 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1645 templates/js/translated/part.js:1677 -#: templates/js/translated/purchase_order.js:1235 -#: templates/js/translated/purchase_order.js:2096 +#: order/models.py:1202 order/templates/order/order_base.html:200 +#: templates/js/translated/part.js:1644 templates/js/translated/part.js:1675 +#: templates/js/translated/purchase_order.js:1237 +#: templates/js/translated/purchase_order.js:2098 #: templates/js/translated/return_order.js:728 #: templates/js/translated/table_filters.js:86 #: templates/js/translated/table_filters.js:500 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1203 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1210 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2011 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1209 +#: order/models.py:1211 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1224 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1290 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1295 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 -#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:926 +#: order/models.py:1321 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:128 templates/js/translated/pricing.js:929 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1320 +#: order/models.py:1322 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1332 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1408 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:991 +#: order/models.py:1413 templates/js/translated/sales_order.js:991 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1414 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1421 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1422 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1249 -#: order/serializers.py:1377 templates/js/translated/model_renderers.js:412 +#: order/models.py:1429 order/models.py:1626 order/serializers.py:1247 +#: order/serializers.py:1375 templates/js/translated/model_renderers.js:412 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1430 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1438 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1439 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1446 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1447 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1469 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1472 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1585 order/models.py:1587 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1111 +#: order/models.py:1606 order/serializers.py:1109 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1640 order/models.py:1915 #: templates/js/translated/return_order.js:686 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1724 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:1736 +#: order/models.py:1738 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:1747 +#: order/models.py:1749 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1900 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1906 order/models.py:1952 -#: order/templates/order/return_order_base.html:9 -#: order/templates/order/return_order_base.html:28 -#: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:249 -#: templates/js/translated/stock.js:2642 -#, fuzzy -#| msgid "Returned" -msgid "Return Order" -msgstr "已退回" - -#: order/models.py:1914 +#: order/models.py:1916 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:1919 +#: order/models.py:1921 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1922 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:697 +#: order/models.py:1933 templates/js/translated/return_order.js:697 #: templates/js/translated/table_filters.js:89 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1933 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1939 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4832,11 +4841,11 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:261 order/serializers.py:1129 +#: order/serializers.py:261 order/serializers.py:1127 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1140 +#: order/serializers.py:272 order/serializers.py:1138 msgid "Order has incomplete line items" msgstr "" @@ -4864,7 +4873,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1217 +#: order/serializers.py:471 order/serializers.py:1215 msgid "Line Item" msgstr "" @@ -4872,15 +4881,15 @@ msgstr "" msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:608 order/serializers.py:1588 +#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1586 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1059 +#: order/serializers.py:506 templates/js/translated/purchase_order.js:1061 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1083 +#: order/serializers.py:514 templates/js/translated/purchase_order.js:1085 msgid "Enter serial numbers for incoming stock items" msgstr "" @@ -4898,79 +4907,79 @@ msgstr "扫描条形码" msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:570 +#: order/serializers.py:568 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:624 order/serializers.py:1603 +#: order/serializers.py:622 order/serializers.py:1601 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:639 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:650 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:951 +#: order/serializers.py:949 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1008 +#: order/serializers.py:1006 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1072 order/serializers.py:1226 +#: order/serializers.py:1070 order/serializers.py:1224 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1094 +#: order/serializers.py:1092 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1239 +#: order/serializers.py:1237 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1261 order/serializers.py:1385 +#: order/serializers.py:1259 order/serializers.py:1383 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1264 order/serializers.py:1388 +#: order/serializers.py:1262 order/serializers.py:1386 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1318 +#: order/serializers.py:1316 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1328 +#: order/serializers.py:1326 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1552 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1559 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1564 +#: order/serializers.py:1562 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1596 +#: order/serializers.py:1594 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1675 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" @@ -5169,7 +5178,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:482 #: templates/js/translated/build.js:2318 #: templates/js/translated/purchase_order.js:653 -#: templates/js/translated/purchase_order.js:1165 +#: templates/js/translated/purchase_order.js:1167 #: templates/js/translated/return_order.js:474 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/stock.js:645 templates/js/translated/stock.js:814 @@ -5300,7 +5309,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1013 -#: templates/js/translated/purchase_order.js:1671 +#: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/return_order.js:349 #: templates/js/translated/sales_order.js:810 msgid "Total Cost" @@ -5403,29 +5412,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3556 part/tasks.py:285 +#: part/admin.py:33 part/admin.py:273 part/models.py:3566 part/tasks.py:287 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3560 part/tasks.py:286 +#: part/admin.py:34 part/admin.py:275 part/models.py:3570 part/tasks.py:288 #: stock/admin.py:102 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/tasks.py:287 +#: part/admin.py:35 part/tasks.py:289 msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:887 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2014 +#: templates/js/translated/part.js:1167 templates/js/translated/part.js:2012 #: templates/js/translated/stock.js:1759 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:894 part/templates/part/part_base.html:279 #: report/models.py:178 templates/js/translated/part.js:1172 -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2018 msgid "Revision" msgstr "" @@ -5434,11 +5443,11 @@ msgstr "" msgid "Keywords" msgstr "关键词" -#: part/admin.py:42 part/admin.py:192 part/tasks.py:288 +#: part/admin.py:42 part/admin.py:192 part/tasks.py:290 msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:43 part/admin.py:193 part/tasks.py:289 +#: part/admin.py:43 part/admin.py:193 part/tasks.py:291 msgid "Category Name" msgstr "" @@ -5459,14 +5468,14 @@ msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1277 +#: templates/js/translated/company.js:1284 #: templates/js/translated/table_filters.js:297 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1163 templates/js/translated/build.js:2161 -#: templates/js/translated/part.js:654 templates/js/translated/part.js:1904 +#: templates/js/translated/part.js:654 templates/js/translated/part.js:1902 #: templates/js/translated/table_filters.js:136 msgid "On Order" msgstr "" @@ -5483,15 +5492,15 @@ msgid "Allocated" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:1908 +#: templates/js/translated/part.js:659 templates/js/translated/part.js:1906 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2913 templates/js/translated/part.js:910 +#: part/admin.py:66 part/models.py:2923 templates/js/translated/part.js:910 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2919 templates/js/translated/part.js:920 +#: part/admin.py:67 part/models.py:2929 templates/js/translated/part.js:920 msgid "Maximum Cost" msgstr "" @@ -5514,7 +5523,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2529 templates/js/translated/search.js:160 +#: templates/js/translated/part.js:2533 templates/js/translated/search.js:160 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5531,17 +5540,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3564 +#: part/admin.py:274 part/models.py:3574 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:344 -#: templates/js/translated/pricing.js:993 +#: templates/js/translated/pricing.js:996 msgid "Minimum Price" msgstr "" #: part/admin.py:281 templates/js/translated/pricing.js:339 -#: templates/js/translated/pricing.js:1001 +#: templates/js/translated/pricing.js:1004 msgid "Maximum Price" msgstr "" @@ -5591,7 +5600,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:73 part/models.py:3505 part/templates/part/category.html:16 +#: part/models.py:73 part/models.py:3515 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5666,7 +5675,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:844 part/models.py:3561 +#: part/models.py:844 part/models.py:3571 msgid "Part name" msgstr "商品名称" @@ -5692,11 +5701,11 @@ msgstr "描述 (可选)" msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:881 part/models.py:3181 part/models.py:3504 -#: part/serializers.py:856 part/templates/part/part_base.html:262 +#: part/models.py:881 part/models.py:3191 part/models.py:3514 +#: part/serializers.py:846 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2256 +#: templates/js/translated/part.js:2048 templates/js/translated/part.js:2260 msgid "Category" msgstr "类别" @@ -5740,396 +5749,396 @@ msgstr "" msgid "Units of measure for this part" msgstr "" -#: part/models.py:992 +#: part/models.py:995 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1012 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1017 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1019 +#: part/models.py:1022 msgid "Is this part active?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1027 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1026 +#: part/models.py:1029 msgid "BOM checksum" msgstr "" -#: part/models.py:1026 +#: part/models.py:1029 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1029 +#: part/models.py:1032 msgid "BOM checked by" msgstr "" -#: part/models.py:1031 +#: part/models.py:1034 msgid "BOM checked date" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1037 +#: part/models.py:1040 msgid "User responsible for this part" msgstr "" -#: part/models.py:1041 part/templates/part/part_base.html:341 +#: part/models.py:1044 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2106 +#: templates/js/translated/part.js:2110 msgid "Last Stocktake" msgstr "" -#: part/models.py:1911 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2836 +#: part/models.py:2846 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2853 +#: part/models.py:2863 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2854 +#: part/models.py:2864 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2859 +#: part/models.py:2869 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2860 +#: part/models.py:2870 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2865 +#: part/models.py:2875 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2866 +#: part/models.py:2876 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2881 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2872 +#: part/models.py:2882 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2887 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2878 +#: part/models.py:2888 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2883 +#: part/models.py:2893 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2884 +#: part/models.py:2894 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2889 +#: part/models.py:2899 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2890 +#: part/models.py:2900 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2895 +#: part/models.py:2905 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2896 +#: part/models.py:2906 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2901 +#: part/models.py:2911 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2902 +#: part/models.py:2912 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2907 +#: part/models.py:2917 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2908 +#: part/models.py:2918 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2914 +#: part/models.py:2924 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2920 +#: part/models.py:2930 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2935 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2926 +#: part/models.py:2936 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2931 +#: part/models.py:2941 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2932 +#: part/models.py:2942 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2937 +#: part/models.py:2947 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2948 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2953 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2954 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2963 +#: part/models.py:2973 msgid "Part for stocktake" msgstr "" -#: part/models.py:2968 +#: part/models.py:2978 msgid "Item Count" msgstr "" -#: part/models.py:2969 +#: part/models.py:2979 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2976 +#: part/models.py:2986 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2980 part/models.py:3063 +#: part/models.py:2990 part/models.py:3073 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:364 #: templates/js/translated/part.js:1026 templates/js/translated/pricing.js:798 -#: templates/js/translated/pricing.js:919 -#: templates/js/translated/purchase_order.js:1650 +#: templates/js/translated/pricing.js:922 +#: templates/js/translated/purchase_order.js:1652 #: templates/js/translated/stock.js:2522 msgid "Date" msgstr "" -#: part/models.py:2981 +#: part/models.py:2991 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:2989 +#: part/models.py:2999 msgid "Additional notes" msgstr "" -#: part/models.py:2997 +#: part/models.py:3007 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3013 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3008 +#: part/models.py:3018 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3009 +#: part/models.py:3019 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3070 templates/InvenTree/settings/settings_staff_js.html:353 +#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:353 msgid "Report" msgstr "" -#: part/models.py:3071 +#: part/models.py:3081 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3076 templates/InvenTree/settings/settings_staff_js.html:360 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:360 msgid "Part Count" msgstr "" -#: part/models.py:3077 +#: part/models.py:3087 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3085 +#: part/models.py:3095 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3221 +#: part/models.py:3231 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3238 +#: part/models.py:3248 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3258 templates/js/translated/part.js:2596 +#: part/models.py:3268 templates/js/translated/part.js:2600 msgid "Test Name" msgstr "" -#: part/models.py:3259 +#: part/models.py:3269 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3264 +#: part/models.py:3274 msgid "Test Description" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Enter description for this test" msgstr "" -#: part/models.py:3270 templates/js/translated/part.js:2605 +#: part/models.py:3280 templates/js/translated/part.js:2609 #: templates/js/translated/table_filters.js:419 msgid "Required" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2613 +#: part/models.py:3286 templates/js/translated/part.js:2617 msgid "Requires Value" msgstr "" -#: part/models.py:3277 +#: part/models.py:3287 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3282 templates/js/translated/part.js:2620 +#: part/models.py:3292 templates/js/translated/part.js:2624 msgid "Requires Attachment" msgstr "" -#: part/models.py:3283 +#: part/models.py:3293 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3325 +#: part/models.py:3335 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3333 +#: part/models.py:3343 msgid "Parameter Name" msgstr "" -#: part/models.py:3339 +#: part/models.py:3349 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3349 +#: part/models.py:3359 msgid "Parameter description" msgstr "" -#: part/models.py:3444 +#: part/models.py:3454 msgid "Parent Part" msgstr "" -#: part/models.py:3449 part/models.py:3510 part/models.py:3511 +#: part/models.py:3459 part/models.py:3520 part/models.py:3521 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Data" msgstr "" -#: part/models.py:3454 +#: part/models.py:3464 msgid "Parameter Value" msgstr "" -#: part/models.py:3515 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3525 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3516 +#: part/models.py:3526 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3553 +#: part/models.py:3563 msgid "Part ID or part name" msgstr "" -#: part/models.py:3557 +#: part/models.py:3567 msgid "Unique part ID value" msgstr "" -#: part/models.py:3565 +#: part/models.py:3575 msgid "Part IPN value" msgstr "" -#: part/models.py:3568 +#: part/models.py:3578 msgid "Level" msgstr "" -#: part/models.py:3569 +#: part/models.py:3579 msgid "BOM level" msgstr "" -#: part/models.py:3653 +#: part/models.py:3663 msgid "Select parent part" msgstr "" -#: part/models.py:3661 +#: part/models.py:3671 msgid "Sub part" msgstr "" -#: part/models.py:3662 +#: part/models.py:3672 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3668 +#: part/models.py:3678 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3672 part/templates/part/upload_bom.html:58 +#: part/models.py:3682 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994 #: templates/js/translated/build.js:2083 #: templates/js/translated/table_filters.js:152 @@ -6138,372 +6147,372 @@ msgstr "" msgid "Optional" msgstr "可选项" -#: part/models.py:3673 +#: part/models.py:3683 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3678 templates/js/translated/bom.js:937 +#: part/models.py:3688 templates/js/translated/bom.js:937 #: templates/js/translated/bom.js:1003 templates/js/translated/build.js:2074 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:481 msgid "Consumable" msgstr "" -#: part/models.py:3679 +#: part/models.py:3689 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3683 part/templates/part/upload_bom.html:55 +#: part/models.py:3693 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3684 +#: part/models.py:3694 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3687 +#: part/models.py:3697 msgid "BOM item reference" msgstr "" -#: part/models.py:3690 +#: part/models.py:3700 msgid "BOM item notes" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "Checksum" msgstr "" -#: part/models.py:3694 +#: part/models.py:3704 msgid "BOM line checksum" msgstr "" -#: part/models.py:3699 templates/js/translated/table_filters.js:140 +#: part/models.py:3709 templates/js/translated/table_filters.js:140 msgid "Validated" msgstr "" -#: part/models.py:3700 +#: part/models.py:3710 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3705 part/templates/part/upload_bom.html:57 +#: part/models.py:3715 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1020 #: templates/js/translated/table_filters.js:144 #: templates/js/translated/table_filters.js:177 msgid "Gets inherited" msgstr "" -#: part/models.py:3706 +#: part/models.py:3716 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3711 part/templates/part/upload_bom.html:56 +#: part/models.py:3721 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1012 msgid "Allow Variants" msgstr "" -#: part/models.py:3712 +#: part/models.py:3722 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3798 stock/models.py:577 +#: part/models.py:3808 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3807 part/models.py:3809 +#: part/models.py:3817 part/models.py:3819 msgid "Sub part must be specified" msgstr "" -#: part/models.py:3925 +#: part/models.py:3935 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:3946 +#: part/models.py:3956 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:3959 +#: part/models.py:3969 msgid "Parent BOM item" msgstr "" -#: part/models.py:3967 +#: part/models.py:3977 msgid "Substitute part" msgstr "" -#: part/models.py:3982 +#: part/models.py:3992 msgid "Part 1" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Part 2" msgstr "" -#: part/models.py:3986 +#: part/models.py:3996 msgid "Select Related Part" msgstr "" -#: part/models.py:4004 +#: part/models.py:4014 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4008 +#: part/models.py:4018 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Original Part" msgstr "" -#: part/serializers.py:310 +#: part/serializers.py:300 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy Image" msgstr "" -#: part/serializers.py:315 +#: part/serializers.py:305 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:320 part/templates/part/detail.html:296 +#: part/serializers.py:310 part/templates/part/detail.html:296 msgid "Copy BOM" msgstr "" -#: part/serializers.py:320 +#: part/serializers.py:310 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:325 +#: part/serializers.py:315 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:335 +#: part/serializers.py:325 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:341 +#: part/serializers.py:331 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:341 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:352 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:368 +#: part/serializers.py:358 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:365 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:373 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:385 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:393 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:628 part/templates/part/copy_part.html:9 +#: part/serializers.py:618 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:416 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:628 +#: part/serializers.py:618 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:633 templates/js/translated/part.js:70 +#: part/serializers.py:623 templates/js/translated/part.js:70 msgid "Initial Stock" msgstr "" -#: part/serializers.py:633 +#: part/serializers.py:623 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Supplier Information" msgstr "" -#: part/serializers.py:638 +#: part/serializers.py:628 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:644 +#: part/serializers.py:634 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:645 +#: part/serializers.py:635 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:840 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:846 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:852 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:867 +#: part/serializers.py:857 msgid "Generate Report" msgstr "" -#: part/serializers.py:868 +#: part/serializers.py:858 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:873 +#: part/serializers.py:863 msgid "Update Parts" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:864 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:882 +#: part/serializers.py:872 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:961 msgid "Update" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:962 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1244 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1262 +#: part/serializers.py:1252 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1263 +#: part/serializers.py:1253 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1268 +#: part/serializers.py:1258 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1259 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1264 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1265 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1280 +#: part/serializers.py:1270 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1271 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1321 +#: part/serializers.py:1311 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1312 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1352 +#: part/serializers.py:1342 msgid "No part column specified" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1385 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1398 +#: part/serializers.py:1388 msgid "No matching part found" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1391 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1400 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1418 +#: part/serializers.py:1408 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1439 +#: part/serializers.py:1429 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:36 +#: part/tasks.py:38 msgid "Low stock notification" msgstr "" -#: part/tasks.py:37 +#: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:291 templates/js/translated/part.js:1007 -#: templates/js/translated/part.js:1597 templates/js/translated/part.js:1653 -#: templates/js/translated/purchase_order.js:2011 +#: part/tasks.py:293 templates/js/translated/part.js:1007 +#: templates/js/translated/part.js:1596 templates/js/translated/part.js:1651 +#: templates/js/translated/purchase_order.js:2013 msgid "Total Quantity" msgstr "" -#: part/tasks.py:292 +#: part/tasks.py:294 msgid "Total Cost Min" msgstr "" -#: part/tasks.py:293 +#: part/tasks.py:295 msgid "Total Cost Max" msgstr "" -#: part/tasks.py:357 +#: part/tasks.py:359 msgid "Stocktake Report Available" msgstr "" -#: part/tasks.py:358 +#: part/tasks.py:360 msgid "A new stocktake report is available for download" msgstr "" @@ -6931,9 +6940,9 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037 -#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2079 +#: templates/js/translated/part.js:1205 templates/js/translated/part.js:2083 #: templates/js/translated/pricing.js:377 -#: templates/js/translated/pricing.js:1023 +#: templates/js/translated/pricing.js:1026 msgid "Price Range" msgstr "" @@ -6954,7 +6963,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1972 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1970 #, fuzzy #| msgid "Edit part" msgid "part" @@ -7030,8 +7039,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1901 -#: templates/js/translated/part.js:2059 templates/js/translated/stock.js:986 +#: templates/js/translated/part.js:1183 templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:2063 templates/js/translated/stock.js:986 #: templates/js/translated/stock.js:1793 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7063,8 +7072,8 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1291 -#: templates/js/translated/company.js:1301 +#: templates/js/translated/company.js:1298 +#: templates/js/translated/company.js:1308 #: templates/js/translated/stock.js:1946 msgid "Last Updated" msgstr "" @@ -7129,7 +7138,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:649 -#: templates/js/translated/part.js:1896 templates/js/translated/part.js:1898 +#: templates/js/translated/part.js:1894 templates/js/translated/part.js:1896 msgid "No Stock" msgstr "" @@ -7241,7 +7250,7 @@ msgid "Match found for barcode data" msgstr "找到匹配条形码数据" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1331 +#: templates/js/translated/purchase_order.js:1333 msgid "Barcode matches existing item" msgstr "" @@ -7262,45 +7271,45 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:27 -#: plugin/builtin/integration/core_notifications.py:33 +#: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:32 +#: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree Notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:39 -#: plugin/builtin/integration/core_notifications.py:80 -msgid "Enable email notifications" -msgstr "" - #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:41 +#: plugin/builtin/integration/core_notifications.py:82 msgid "Allow sending of emails for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:45 +#: plugin/builtin/integration/core_notifications.py:46 msgid "Enable slack notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:46 +#: plugin/builtin/integration/core_notifications.py:47 msgid "Allow sending of slack channel messages for event notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:51 +#: plugin/builtin/integration/core_notifications.py:52 msgid "Slack incoming webhook url" msgstr "" -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:53 msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:162 +#: plugin/builtin/integration/core_notifications.py:163 msgid "Open link" msgstr "" @@ -7553,7 +7562,7 @@ msgstr "" #: templates/js/translated/order.js:298 templates/js/translated/pricing.js:513 #: templates/js/translated/pricing.js:582 #: templates/js/translated/pricing.js:806 -#: templates/js/translated/purchase_order.js:2042 +#: templates/js/translated/purchase_order.js:2044 #: templates/js/translated/sales_order.js:1787 msgid "Unit Price" msgstr "单价" @@ -7568,7 +7577,7 @@ msgstr "额外的生产备注" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1944 +#: templates/js/translated/purchase_order.js:1946 #: templates/js/translated/sales_order.js:1762 msgid "Total" msgstr "" @@ -7727,7 +7736,7 @@ msgstr "" msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:640 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9632,7 +9641,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:2915 +#: templates/js/translated/part.js:2919 msgid "Minimum Quantity" msgstr "" @@ -10376,8 +10385,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2467 templates/js/translated/stock.js:1723 +#: templates/js/translated/build.js:2803 templates/js/translated/part.js:1987 +#: templates/js/translated/part.js:2471 templates/js/translated/stock.js:1723 #: templates/js/translated/stock.js:2422 msgid "Select" msgstr "" @@ -10558,41 +10567,47 @@ msgstr "删除参数" msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1282 +#: templates/js/translated/company.js:1259 +#, fuzzy +#| msgid "Units" +msgid "Base Units" +msgstr "单位" + +#: templates/js/translated/company.js:1289 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1313 +#: templates/js/translated/company.js:1320 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1321 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1367 +#: templates/js/translated/company.js:1374 #: templates/js/translated/pricing.js:680 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1377 +#: templates/js/translated/company.js:1384 #: templates/js/translated/pricing.js:698 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1392 +#: templates/js/translated/company.js:1399 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1421 +#: templates/js/translated/company.js:1428 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1428 +#: templates/js/translated/company.js:1435 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1429 +#: templates/js/translated/company.js:1436 msgid "Delete price break" msgstr "" @@ -10866,7 +10881,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:263 -#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/purchase_order.js:1919 msgid "No line items found" msgstr "" @@ -11031,7 +11046,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:630 -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:645 msgid "Low stock" msgstr "" @@ -11112,141 +11127,141 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1492 -#: templates/js/translated/purchase_order.js:1577 +#: templates/js/translated/purchase_order.js:1579 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1636 -#: templates/js/translated/purchase_order.js:2080 +#: templates/js/translated/part.js:1635 +#: templates/js/translated/purchase_order.js:2082 #: templates/js/translated/return_order.js:720 #: templates/js/translated/sales_order.js:1825 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1682 -#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/part.js:1680 +#: templates/js/translated/purchase_order.js:2149 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1749 +#: templates/js/translated/part.js:1747 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1771 +#: templates/js/translated/part.js:1769 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1845 templates/js/translated/part.js:2141 +#: templates/js/translated/part.js:1843 templates/js/translated/part.js:2145 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1973 +#: templates/js/translated/part.js:1971 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2051 +#: templates/js/translated/part.js:2055 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2165 templates/js/translated/part.js:2386 +#: templates/js/translated/part.js:2169 templates/js/translated/part.js:2390 #: templates/js/translated/stock.js:2381 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2181 +#: templates/js/translated/part.js:2185 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2247 +#: templates/js/translated/part.js:2251 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2252 +#: templates/js/translated/part.js:2256 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2257 +#: templates/js/translated/part.js:2261 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:2270 +#: templates/js/translated/part.js:2274 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:2370 +#: templates/js/translated/part.js:2374 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2406 templates/js/translated/stock.js:2401 +#: templates/js/translated/part.js:2410 templates/js/translated/stock.js:2401 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2486 +#: templates/js/translated/part.js:2490 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2502 +#: templates/js/translated/part.js:2506 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2582 +#: templates/js/translated/part.js:2586 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2633 templates/js/translated/stock.js:1344 +#: templates/js/translated/part.js:2637 templates/js/translated/stock.js:1344 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2634 templates/js/translated/stock.js:1345 +#: templates/js/translated/part.js:2638 templates/js/translated/stock.js:1345 #: templates/js/translated/stock.js:1607 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2638 +#: templates/js/translated/part.js:2642 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2654 +#: templates/js/translated/part.js:2658 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2668 +#: templates/js/translated/part.js:2672 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2747 templates/js/translated/part.js:2748 +#: templates/js/translated/part.js:2751 templates/js/translated/part.js:2752 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2750 +#: templates/js/translated/part.js:2754 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2756 +#: templates/js/translated/part.js:2760 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2806 +#: templates/js/translated/part.js:2810 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2812 +#: templates/js/translated/part.js:2816 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2908 +#: templates/js/translated/part.js:2912 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2924 +#: templates/js/translated/part.js:2928 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2969 +#: templates/js/translated/part.js:2973 msgid "Minimum Stock Level" msgstr "" @@ -11278,19 +11293,19 @@ msgstr "" msgid "Purchase Price History" msgstr "" -#: templates/js/translated/pricing.js:863 +#: templates/js/translated/pricing.js:866 msgid "No sales history data available" msgstr "" -#: templates/js/translated/pricing.js:885 +#: templates/js/translated/pricing.js:888 msgid "Sale Price History" msgstr "" -#: templates/js/translated/pricing.js:974 +#: templates/js/translated/pricing.js:977 msgid "No variant data available" msgstr "" -#: templates/js/translated/pricing.js:1014 +#: templates/js/translated/pricing.js:1017 msgid "Variant Part" msgstr "" @@ -11403,139 +11418,139 @@ msgstr "" msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1033 +#: templates/js/translated/purchase_order.js:1035 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1044 +#: templates/js/translated/purchase_order.js:1046 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1120 +#: templates/js/translated/purchase_order.js:1122 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1134 +#: templates/js/translated/purchase_order.js:1136 #, fuzzy #| msgid "Barcode" msgid "Add barcode" msgstr "条形码" -#: templates/js/translated/purchase_order.js:1135 +#: templates/js/translated/purchase_order.js:1137 #, fuzzy #| msgid "Remove row" msgid "Remove barcode" msgstr "移除行" -#: templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/purchase_order.js:1140 #, fuzzy #| msgid "Edit location" msgid "Specify location" msgstr "编辑仓储地" -#: templates/js/translated/purchase_order.js:1146 +#: templates/js/translated/purchase_order.js:1148 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1157 +#: templates/js/translated/purchase_order.js:1159 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1209 +#: templates/js/translated/purchase_order.js:1211 #, fuzzy #| msgid "Serial Numbers" msgid "Serials" msgstr "序列号" -#: templates/js/translated/purchase_order.js:1234 +#: templates/js/translated/purchase_order.js:1236 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/purchase_order.js:1238 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1258 +#: templates/js/translated/purchase_order.js:1260 #: templates/js/translated/return_order.js:525 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/purchase_order.js:1261 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1327 +#: templates/js/translated/purchase_order.js:1329 #, fuzzy #| msgid "Scan Barcode" msgid "Scan Item Barcode" msgstr "扫描条形码" -#: templates/js/translated/purchase_order.js:1328 +#: templates/js/translated/purchase_order.js:1330 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1342 +#: templates/js/translated/purchase_order.js:1344 #, fuzzy #| msgid "Enter barcode data" msgid "Invalid barcode data" msgstr "输入条形码数据" -#: templates/js/translated/purchase_order.js:1604 +#: templates/js/translated/purchase_order.js:1606 #: templates/js/translated/return_order.js:254 #: templates/js/translated/sales_order.js:729 #: templates/js/translated/sales_order.js:953 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1666 +#: templates/js/translated/purchase_order.js:1668 #: templates/js/translated/return_order.js:322 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/sales_order.js:966 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1765 +#: templates/js/translated/purchase_order.js:1767 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected Line items will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/purchase_order.js:1783 +#: templates/js/translated/purchase_order.js:1785 #, fuzzy #| msgid "Allocate selected items" msgid "Delete selected Line items?" msgstr "分配选定项目" -#: templates/js/translated/purchase_order.js:1843 +#: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/sales_order.js:2017 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1860 #: templates/js/translated/return_order.js:444 #: templates/js/translated/return_order.js:633 #: templates/js/translated/sales_order.js:2030 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1869 +#: templates/js/translated/purchase_order.js:1871 #: templates/js/translated/return_order.js:646 #: templates/js/translated/sales_order.js:2041 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2151 +#: templates/js/translated/purchase_order.js:2153 #: templates/js/translated/sales_order.js:1971 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2152 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:765 #: templates/js/translated/sales_order.js:1972 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2153 +#: templates/js/translated/purchase_order.js:2155 #: templates/js/translated/return_order.js:769 #: templates/js/translated/sales_order.js:1978 msgid "Delete line item" @@ -12312,7 +12327,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:677 msgid "Has Pricing" msgstr "" @@ -12332,7 +12347,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:229 -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:657 msgid "Subscribed" msgstr "" @@ -12504,22 +12519,34 @@ msgid "Available stock" msgstr "" #: templates/js/translated/table_filters.js:631 +#, fuzzy +#| msgid "Units" +msgid "Has Units" +msgstr "单位" + +#: templates/js/translated/table_filters.js:632 +#, fuzzy +#| msgid "Parameter units" +msgid "Part has defined units" +msgstr "参数单位" + +#: templates/js/translated/table_filters.js:636 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:632 +#: templates/js/translated/table_filters.js:637 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:641 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:649 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:661 msgid "Has stocktake entries" msgstr ""